Published in · 5 min read · Apr 29, 2021
--
We are excited to announce that k0s — the zero friction Kubernetes — is now ready for production! Since the initial release of k0s back in November last year, we have made a total of 14 releases, improved stability, added new features, and most importantly, listened to our users and community in an effort to create the most modern Kubernetes product out there.
Getting people excited about new open source projects is not always easy. We have been lucky to find an active community. We have received great feedback and in a very short amount of time made it to become the 6th most popular CNCF certified Kubernetes distribution. With this important release, we hope to see traction around k0s grow even more. If you haven’t experienced k0s before, get started today!
In this release we are adding automated backup and restore functions, adding support for Kubernetes 1.21 and changing the way how k0s is versioned going forward. In addition, we are introducing a community support model. As always, there are also a number of other enhancements and fixes. Learn more about the new features and enhancements below or see the full change log.
It is now possible to take full backups from your clusters and restore those clusters in case it is needed. We tried to automate most of the steps to make the entire process smooth and very easy to use.
Backup and restore may be triggered with a single command. Once executed, the entire cluster will be backed up or restored to/from a single tar file. You can easily schedule the backup as you like, for example with cron jobs.
The backup includes:
- Certificates (the content of the `<data-dir>/pki` directory)
- etcd snapshot
- k0s configuration (k0s.yaml)
- Any custom-defined manifests under the `<data-dir>/manifests`
- Any image bundles located under the `<data-dir>/images`
- Any helm configuration used for cluster add-ons
The backup content is limited to k0s managed parts. This means that for example Persistent Volumes, which are used by the applications, are not included and must be backed up separately.
To learn more about k0s backup and restore, see the backup documentation.
We introduced the initial support for air gapped environments a while ago. Since then, users have been able to create their own “air gap bundles” containing all the needed components and assets to deploy k0s clusters in an isolated environment. While being able to create your own air gap bundles provides maximum flexibility, it’s not a zero effort task. Since we are on a mission to reduce friction to zero, we wanted to make deployments to air gapped environments easier.
Starting with this release, we will start building and shipping ready-made air gap bundles for the most common use cases. This will cover k0s deployments using the default CNI and CRI. The ready-made air gap bundles are available for all supported processor architectures (x86–64, ARM64, ARMv7) and can be downloaded from the releases page.
k0s will now officially support Kubernetes 1.21. With that, k0s users can use all the latest and greatest features of Kubernetes. To mention some of the enhancements:
- CronJobs make it easy to schedule periodic actions such as backup and report generation. You can set a time (for example: once a day / week / month) when the job should start. CronJobs graduate from beta to stable.
- Immutable Secrets and ConfigMaps provide a way to protect your application configuration. By marking Secrets and ConfigMaps as immutable, the application configuration can’t be changed (by accident).
- IPv4/IPv6 dual-stack support provides an allocation of both IPv4 and IPv6 addresses to Pods and Services. It enables native IPv6 routing and improves possible scaling limitations for workloads. Dual-stack is already supported by k0s as an experimental feature. Now in the latest Kubernetes it has graduated from alpha to beta.
For more information on all Kubernetes 1.21 related enhancements, see the Kubernetes release announcement.
We have decided to change the k0s version numbering to better reflect the underlying Kubernetes version. Starting with this release, it becomes easier to see the Kubernetes version from the k0s version numbering. The Kubernetes version (for example 1.21.0) is located at the beginning:
- v1.21.0+k0s.0
The last part then reflects the k0s minor version that is built on top of the certain Kubernetes version. We hope this change makes it easier for users to know which version of Kubernetes is included in each k0s release.
One of the most important aspects of any product becoming production ready is to have an easy to understand support model.
Starting with k0s 1.21, we plan to support each minor version of Kubernetes for up to 12 months after they are made available for k0s. Our commitment to support is aligned with the Kubernetes project’s support plan.
In practice, this means k0s 1.21 (that is based on Kubernetes 1.21) will get new features and updates periodically and users can stay on this track for up to 12 months. Users can choose when to make the upgrade to the next minor version at their own pace. We call this flexibility “pinning of Kubernetes version”. As an end result, users are not forced to upgrade to the next version of Kubernetes to enjoy all the latest features that k0s Kubernetes distribution brings to the table (there might be some exceptions).
Mirantis — the company behind k0s—provides enterprise grade support options for k0s with guaranteed SLAs and a wide range of other offerings to help enterprises adopt cloud native technologies at scale.
If you’d like to book a demo or get more information, please contact: sales@mirantis.com.
- Update Kubernetes 1.21
- Update Kube-Router 1.2.1
- Update Calico to 3.18.1
- Update Konnectivity to 0.0.16
Here are some new blog posts from the community:
- Luc Juggery: K0s Cluster Without Internet Access
https://itnext.io/k0s-cluster-without-internet-access-ac0dda08aa63 - Luc Juggery: K0s Multi-node Cluster With K0sctl
https://itnext.io/k0s-multi-node-cluster-with-k0sctl-922fc2cb4dc8
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 the latest news, discussions and provide your feedback.
k0s is zero friction Kubernetes distribution. It provides a 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 a 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