This release is K3s's first in the v1.19 line. It upgrades to Kubernetes version v1.19.1 and introduces several enhancements and many bug fixes. For a comprehensive list of all issues addressed in this release, you can review the GitHub milestone.
With this release, the following versions are latest and stable. For more information on what this means, review our release channel documentation.
Channel | K3s Version | Quick Install Command |
---|---|---|
Latest | v1.19.1+k3s1 | curl -sfL https://get.k3s.io | INSTALL_K3S_CHANNEL=latest sh -
|
Stable | v1.18.8+k3s1 | curl -sfL https://get.k3s.io | sh -
|
Features and Enhancements
Experimental Embedded Etcd Support for HA
Etcd is now K3s's embedded clustered database solution. This replaces the experimental Dqlite support. You can read more about this in the docs.
While Dqlite is a great technology, we've made this change in order to leverage the existing effort and knowledge that has gone into operating Kubernetes with etcd.
This move also allows us to support snapshots and restores of the etcd database. See the docs for more details.
Etcd will have a much shorter and direct path from experimental to officially-supported in K3s than our Dqlite feature did. Once we see it exercised in the community and address any bugs, we'll promote it to stable and supported in the 1.19 release line.
🛑 There is no upgrade path for Dqlite-based clusters. This is a breaking change for clusters utilizing the experimental Dqlite backend.
Configuration File Support
You can now configure K3s using a configuration file rather than environment variables or command line arguments. This improves cluster operations and allows for better integration with Infrastructure-as-Code tools such as Terraform. See the docs for more details.
Helm Chart Configurration
You can now configure bundled Helm chart deployments, like Traefik, via a new CRD. This makes it easier to reuse and reconfigure components that leverage K3s's helm-controller. See the docs for more details.
Known Issues
We've been working through issues in our experimental SELinux support in order to promote it to stable. We expect to promote it (as well as support for CentOS and RHEL 8.x) in a future v1.19 release. Currently, we've identified a few known issues in in this area:
- Unable to run Envoy proxy with SELinux enforcing #2240
- Upgrades of systems that have SELinux support turned on will not function correctly unless additional steps are taken:
- The K3s executable will have an incorrect context label after upgrade, see #2263 for the workaround.
- Enablement of SELinux in embedded containerd is no longer automatic. Prior to the v1.19 release line, K3s would auto-detect whether SELinux MCS label support should be enabled. You must now explicitly turn it on by supplying the
--selinux
flag. Because of this change, the--disable-selinux
flag has been deprecated (and it is an error to specify both). See the docs for details.
Embedded Component Versions
Component | Version |
---|---|
Kubernetes | v1.19.1 |
SQLite | 3.32.1 |
Etcd | v3.4.13-k3s1 |
Containerd | v1.4.0 |
Flannel | v0.12.0-k3s1 |
Metrics-server | v0.3.6 |
Traefik | 1.7.19 |
CoreDNS | v1.6.9 |
Helm-controller | v0.7.3 |
Local-path-provisioner | v0.0.14 |
Helpful Links
As always, we welcome and appreciate feedback from our community of users. Please feel free to:
- Open issues here
- Join our Slack channel
- Check out our documentation for guidance on how to get started or to dive deep into K3s.
- Read how you can contribute here