Releases: canonical/microk8s
MicroK8s 1.31 released!
In this release
Kubernetes 1.31
Read more at https://kubernetes.io/blog/2024/08/13/kubernetes-v1-31-release/
Dqlite efficiency
We spent a lot of effort in improving the efficiency of the default datastore, dqlite. You will find improvements in the performance of concurrent queries and open telemetry integration.
Important updates
- helm upgrade to v3.14.4
- cert-manager to v1.14.5
- cilium to v1.15.2
- gopaddle to v5.0
- falco to v4.5.1
- cloudnative pg to v1.23.3
Many thanks to our contributors
MicroK8s 1.30 released!
Featured in this release
Kubernetes 1.30 obviously
Read more at https://kubernetes.io/blog/2024/04/17/kubernetes-v1-30-release/
Dqlite stability
With the help of @miro-balaz we identified and patched a few issued that improve the reliability of our default datastore in resource limiting environments.
Important updates
Most notably
- containerd to v1.6.28 and runc to v.1.1.12
- gpu-operator to v23.9.1
New addon
- Stunner by @smeng9, a Kubernetes media gateway for WebRTC
In detail
What's changed in detail
- Do not set --hostname-override on kube-proxy when joining a cluster by @neoaggelos in #4360
- Use build-snaps instead of manually installing the go snap by @IsaacJT in #4377
- Bump containerd to v1.6.28 and runc to v.1.1.12 by @louiseschmidtgen in #4398
- Fix erroneous microk8s join invocations by adding validation by @skatsaounis in #4397
External contributors
- @IsaacJT made their first contribution in #4377
- @skatsaounis made their first contribution in #4397
- @miro-balaz rewrote the dqlite list query canonical/k8s-dqlite#83
- @smeng9 contributed a new addon Stunner canonical/microk8s-community-addons#223
- @udit-uniyal addressed KubeArmor installation issue canonical/microk8s-community-addons#216
MicroK8s v1.29 released!
Featured in this release
"Quality of life" improvements
A lot of effort has gone into the datastore, DQlite. In this release we introduced the following improvements:
- DQlite node role reassignment in case of failure domain availability changes
- Optional admission control to ensure performance
- Handling the out-of-disk-space cases
- Performance improvements related to static linking of DQlite and SQL query preparation
New addons by our partners and community members
- Falco: the cloud-native security tool that employs custom rules on kernel events to provide real-time alerts
- CloudNative PG Operator: Leveraging cloud native Postgres for Kubernetes adds speed, efficiency and protection for your infrastructure modernization
- ngrok: Ingress Controller instantly adds connectivity, load balancing, authentication, and observability to your services
Detail list of updates since last release
Kubernetes core services
- Kubernetes 1.29
Usability Improvements
- Improved messaging in joining nodes
- Fix the default IP shown in ‘microk8s add-node’ output when using FRR (thanks @nihr23)
- Improve connectivity check in installers, thank you @smithyuk
- Handle out of low disk capacity on dqlite nodes
- Admission control to protect from dqlite performance degradation
- Failure domain control plain datastore rebalance
- Memory argument warning in installer, thank you @eddiesimeon
Addon updates
- New addon: nvidia, allows for enabling the gpu and network operators
- New addon: Falco v3.7.1, thank you @jasonumiker
- New addon: CloudNativePG, thank you @sxd
- New addon: ngrok, thank you @russorat
- Added default-class option to hostpath-storage, thank you @overtfuture
- Upgraded sosivio to v1.7.1, thank you @DanArlowski
- Upgrade linkerd to v2.14.3, thank you @balchua
- Upgraded KWasm operator to version v0.3.0, thank you @0xE282B0
- Upgrade keda to v2.12.0, thank you @balchua
- Upgraded hostpath-storage to v1.5.0
- Upgraded MICROCKS to v1.8.0, thank you @yada
- hostpath-storage option not to be set as the default storage class, courtesy of @overtfuture
- Removed ondat addon from the community repository
installer-v2.3.4
microk8s version: 1.28
kubectl version: 1.28.3
multipass version: 1.12.2
installer version: 2.3.4
MicroK8s v1.28 released!
Featured in this release
Dual stack support and CIDR configuration made easy
In the past, community members provided instructions on how to configure dual-stack in MicroK8s clusters. From this release onwards, dual-stack along with the respective CIDR configuration can be easily setup with launch configurations even at install time.
You can read more on dual stack over at:
Improve security and CIS compliance
Full CIS compliance can be achieved with a single call: microk8s enable cis-hardening
. For auditors and those interested in what each CIS recommendation is about we have assembled a detailed list of each recommendation and how we comply with it. Some of the CIS hardening suggestions have been adopted as default setup options in MicroK8s, for example the authentication of users is now done via x509 certificates instead of tokens.
For the work on this feature you can read:
Ceph and MicroK8s
Try this microk8s enable rook-ceph
to get the Rook Ceph operator on your cluster. We found that pairing MicroCeph, the low ops Ceph distribution, with MicroK8s produces a great setup in terms of feature richenss, stability and effectiveness. In our docs we have a guide showing how to testdirve this combination on a single node cluster.
Read more at:
- https://microk8s.io/docs/how-to-ceph
- https://canonical-microceph.readthedocs-hosted.com/en/latest/
- https://rook.io/
New partner joining our addons ecosystem
Two addons joined our ecosystems:
-
KubeArmor is a cloud-native runtime security enforcement system that restricts the behavior (such as process execution, file access, and networking operations) of pods, containers, and nodes at the system level.
-
MICROCKS is a CNCF project designed to simplify and streamline API mocking and testing, with support for many different types of API and integrations for GitHub, Gitlab, Jenkins and more.
Detail list of updates since last release
Kubernetes core services
- Kubernetes v1.28
- Calico CNI updated to v3.25.1
Usability Improvements
microk8s status
will return an error code in case the cluster is not yet ready.microk8s join
no longer fails if nodes cannot resolve each other’s hostnames. This limitation has been lifted by updating the default arguments of kube-apiserver.- fixes iptables rule with custom CIDR, thanks @Dunge
- Certificate based authentication replaces token auth
- kubelet certificate authority set to the cluster CA by default
- RBAC rules for kubelet webhook auth-mode loaded by default
- EventRateLimit is enabled by default
- Kubelet now does not serialize image pulls by default, which should result in faster image pulls (thanks @ghboutry)
- Attempt to increase inotify and async IO limits if found too low
Addon updates
- New addon: kubearmor, thanks to @nyrahul and @webdevgopi
- New addon: microcks, thank you @yada
- Update ArgoCD to v2.7.2 and add support for ARM64, thank you @alirezaghey
- Coredns updated to v1.10.1
- cilium updated to 1.13.4 now supporting multi-node clusters
- gopapdle updated to v4.2.9, added support for ARM64, renamed to goppadle from goppadle-lite, thank you @Gayathri-Bluemeric
- Metrics server updated to v0.6.3
- Ingress updated to v1.8.0
- linkerd updated to v2.13.5, thank you @balchua
- keda updated to v2.11.1, thank you @balchua
- kata addon expects to find a runtime and does not use the kata-runtime snap anymore
- trivy addon updated tov 0.15.1
- Metallb updated to v0.13.10, thank you @jadams
- Istio updated to v1.18.2, thank you @aalonsolopez
installer-v2.3.3
installer v2.3.3
MicroK8s v1.27 released!
Featured in this release
cloudinit-like launch configurations
Users can now provide a yaml manifest describing how MicroK8s should be setup. Manifests may specify things like:
- which addons to be enabled,
- what cluster the node should join,
- what image and addon repositories should be used,
- what arguments should be used in bringing up the K8s services
MicroK8s consumes configuration manifests found in /root/snap/microk8s/common/ or passed as snap configuration argument via snap set microk8s config=”$(cat microk8s-config.yaml)”
as well as through a content interface.
Datastore - dqlite improvements
Optimizations in the queries that hit the datastore. This yields a sizable benefit in both latency and CPU utilization. Work on this area is still on-going so expect more improvements in the near future.
New partner and community addons
The following addons are new in the 1.27 release under the community repo:
- Shifu is a Kubernetes native, production-grade, protocol & vendor agnostic IoT development framework. The partnership with Shifu takes IoT and Edge devices with MicroK8s to the next level.
- EasyHAProxy automatically configures HA proxy as ingress based on the labels defined in deployed containers. An advantage of HA proxy is that it provides TCP endpoints and it works in tandem with the next addon.
- Parking deploys a static webserver to park a domain this involves setting up all necessary ingress, service and pods.
Detail list of updates since last release
- Kubernetes core services
- Kubernetes v1.27
- Containerd upgraded to v1.6.15
- Rebase to snap core20 compatible with Ubuntu 20.04
- dqlite updated to v1.14.0, with experimental disk-mode operation and performance improvements
- CoreDNS updated to v1.10.0
- Calico CNI updated to v3.25.0
- DNS service enabled by default on new installations
- CNI tools upgraded to 1.2.0, thanks @KhooHaoYit
- Flannel upgraded to 0.21.2, adding support for IPv6 NAT, thanks @KhooHaoYit
- Usability Improvements
- configure your MicroK8s installation through cloudinit-like launch configurations
- addons repo updates require sudo
- enable/disable multiple addons in one command will display a depreciation warning
- cert-manager addon will wait for the operator to be functional, thank you @balchua
- fixes in refresh-certs command to handle presented certificates @dud225
- inspection script to check for uppercase letters in hostname
- installing on lxc without the proper profile will fail
- fix microk8s reset command that would sometimes leave behind a few resources, thank you @m4rc3l-h3
microk8s ctr
now needs elevated permissions, thank you @balchua- improved server certificate handling. Thank you @bitmeal
- Addon updates
- new partner addon shifu, try is with
microk8s enable shifu
, thank you @saiyan86, @tomqin93 - new community addon EasyHAProxy, try it with
microk8s enable easyhaproxy
, thank you @byjg - new community addon Parking, try it with
microk8s enable parking
, thank you @byjg - Observability addon pinned to version v45.5.0
- Mayastor updated to version v2.0.0
- NVIDIA gpu operator updated to v22.9.1
- Ingress updated to v1.5.1, thank you @howto-kubernetes-info
- Traefik updated to v20.8.0
- knative updated to v1.8.2
- cilium updated to v1.11.12, thank you @Thesykan
- new partner addon shifu, try is with
installer-v2.3.2
Bump installer versions: (#3864) - installer to 2.3.2 - multipass to 1.11.1 - kubectl to 1.26.3
installer-v2.3.1
bump default install version to 1.26 (#3683)
MicroK8s v1.26 released!
Most important features in this release
Partner and community addons
The evolution of the addon ecosystem continues to strengthen MicroK8s. The following addons are new in the 1.26 release under the community repo:
- ondat: Run stateful workloads at scale.
- sosivio: Next Generation Kubernetes Security made easy.
- gopaddle: Provision multi-cloud clusters, dockerise applications, deploy, monitor and build DevOps pipelines within a fraction of time.
- KWasm: Tooling for cloud-native WebAssembly.
Core addons
Core addons are Kubernetes services shipped with MicroK8s and supported by Canonical Kubernetes. MicroK8s 1.26 extends the core addon ecosystem with the introduction of MinIO: high-performance, S3 compatible object storage.
Updates in detail
Most important updates since the last release:
-
Kubernetes core services
- Kubernetes v1.26
- Containerd upgraded to 1.6.8, thanks @dalbani
- Calico upgraded to v3.23.5
-
Usability Improvements
- Code quality improvements in the ClusterAPI providers thanks to @oscr
- Removing the Calico interfaces when removing the snap
- Introducing launch configurations for the strict snap
- etcd upgraded to v3.5
- CoreDNS uses the host’s resolv.conf to find the forward DNS servers
- Fixed the dashboard-proxy command on Windows and macOS, thank you @doggy8088
- Minor improvements to management of the 'microk8s' group, thank you @barrettj12
- Improved search for kubelet tokens, thank you @ortegarenzy
-
Addon updates
- OpenEBS addon updated to 3.3.x, thank you @zacbayhan
- Improved observability for multi-node clusters, thank you @MrRoundRobin
- K8s services alerting in the observability addon, thank you @dud225
- Scheduler and controller prometheus scraping, thank you @plomosits
- osm-edge version upgrade to v1.1.2 along with a new command
microk8s osm
, thank you @naqvis - Starboard addon renamed to Trivy, thank you @AnaisUrlichs
- New addon, gopaddle. Try it with
microk8s enable gopaddle-lite
. Thank you @renugadevi-2613. - New minio addon, try it with
microk8s enable minio
- New ondat addon, try it with
microk8s enable ondat
. Thank you @hubvu - KWASM.sh addon, a container runtime for WebAssembly workloads, give it a try with
microk8s enable kwasm
. Thank you @0xE282B0. - New community addon sosivio, try it with
microk8s enable sosivio
. Courtesy of @DanArlowski and the sosivio team. - Istio upgraded to v1.15.3, thank you @Azuna1
- NVIDIA GPU operator upgraded to 22.9.0
Users following the latest stable MicroK8s track will be automatically upgraded to v1.26 in the next few days. Those who want to upgrade their existing clusters can follow the instructions in our docs. Remember, to call sudo microk8s addons repo update <repo_name>
on the addon repositories you would like to fetch updates for.
For more information on MicroK8s consult the official docs or chat with us on the Kubernetes Slack, in the #microk8s channel!