k0s 0.9 Released
The holiday season is upon us and the k0s
team wanted to share a small gift for the community. We’ve just released k0s
0.9 with pretty nice features in it.
Windows Support
Probably the biggest endeavour we took for this release is the experimental support for Windows workers in the k0s
clusters. Starting from k0s
0.9, users can get almost identical* user experience when joining Windows workers: k0s worker <join token>
. When running Windows workers users must still run at least one Linux worker as most of the critical cluster services such as CoreDNS are not supporting Windows. Currently we only support BYO Docker as runtime for Windows but support for bundled containerD is on the roadmap.
*) There’s few extra args still needed, we’re working on a solution to get the UX 100% identical with Linux nodes.
Support for Load Balanced Controllers
There’s now a new special attribute on k0s.yaml
config designed to make running the control plane behind a load balancer much more easier. Users can now provide the address of the load balancer and k0s
will use it in following places:
- For all components that need to talk to API directly. This includes konnectivity agents, kube-proxy and kubelet of course.
- Join address in tokens, the address where
k0s
calls to when joining new nodes - Custom endpoint resolver for
kubernetes.default.svc.cluster.local
service. This reconciler will automatically make the in-cluster API service to have addresses resolved from the given load balancer address. This essentially makes the in-cluster communications to the API also go through the load balancer.
Improved Documentation
We’re now started to build a separate website for docs. You can see the docs at https://docs.k0sproject.io. As always there’s much to improve on docs but now we have much more usable and readable platform for the docs. On the docs site latest
version tracks the latest released version and there’s will be docs version for each released version available. This makes it super easy for users to read docs for the same version of k0s
they are using. For those of us who are living on the edge there’s also main
version of the docs which follows the main
branch of the source repo.
Kubernetes 1.20
k0s
0.9 ships with the latest Kubernetes (v1.20.1) components. This means we’re once again able to follow Kubernetes upstream very closely with k0s
releases.
k0s
now adds also custom suffix to the Kubernetes component version. So you’ll see the nodes listed now with a version string like v1.20.1-k0s1
. This does not mean we’ve added anything custom to Kubernetes but merely states that we do build the components from direct upstream in k0s
build pipeline.
New “Install” Sub-Command
One of the issues many users have had is the fact that they’ve had to push k0s
service unit configuration to systemd or other init systems. In 0.9.0 release k0s comes with a sub command k0s install
which automatically detects the used init system (systemd and openRC currently supported) and injects the service unit. k0s install
command also creates proper user accounts on the system so that all the controller components are running as non-root users. Naturally the worker components (containerd, kubelet etc.) are still running as root.
We’re planning to couple this into the get.k0s.sh
installer script too so there’s gonna be a super easy one-liner to install k0s
properly.
Many Updated Components
Many of the embedded components have been updated:
- etcd 3.4.14
- kine 0.6.0
- konnectivity 0.0.14
- kube 1.20.1
Community Updates
Here’s interesting stuff from the k0s community:
- Ansible playbook to setup
k0s
: https://github.com/movd/k0s-ansible - “From zero to hero with k0s and Traefik”: https://traefik.io/blog/from-zero-to-hero-getting-started-with-k0s-and-traefik/
- EKS-D on top of
k0s
: https://github.com/chanwit/ekz
Although Github stars is kinda vanity metric but as a team, and growing community, we feel overwhelmed that in short amount of time we’ve collected 3k stars.
As a gentle reminder: if you are not yet following us on Twitter, please do it now! Also, please join the k0s Slack channel (hosted by our friends at Lens IDE community) to hear latest news, discussions and provide your feedback.
With this release the whole k0s
team wants to wish everyone a happy and joyful holiday season! 🎅
About k0s
k0s is zero friction Kubernetes distribution. It provides unique mix of simplicity, security and modularity. k0s is 100% open source and free of charge, for any purpose.
The k0s open source project is backed by number of Kubernetes, Docker and Linux ecosystem pioneers. It combines experience with all the best innovations and ideas in the ecosystem to create a pure kubernetes distribution that is slim, modern & fresh while maximizing the developer happiness. https://k0sproject.io