MicroK8s 1.32 released!
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.32/stable
In this release
Kubernetes 1.32
Read more at Kubernetes v1.32: Penelope | Kubernetes
Bugfixes
- Pin k8s-dqlite version by @louiseschmidtgen in Pin k8s-dqlite version by louiseschmidtgen · Pull Request #4657 · canonical/microk8s · GitHub
- Prioritize SNAP_CURRENT in containerd paths by @berkayoz in Prioritize SNAP_CURRENT in containerd paths by berkayoz · Pull Request #4710 · canonical/microk8s · GitHub
- fix: ensure nf_conntrack module loaded for kubelite. by @aznashwan in fix: ensure nf_conntrack module loaded for kubelite. by aznashwan · Pull Request #4705 · canonical/microk8s · GitHub
- fix non sudo enable community addon by @maci3jka in fix non sudo enable community addon by maci3jka · Pull Request #4714 · canonical/microk8s · GitHub
- Inspect ip route fix by @maci3jka in Inspect ip route fix by maci3jka · Pull Request #4752 · canonical/microk8s · GitHub
- Trivy job fix by @maci3jka in Trivy job fix by maci3jka · Pull Request #4760 · canonical/microk8s · GitHub
- Cleans up containers and shims on microk8s stop and snap removal by @claudiubelu in Cleans up containers and shims on microk8s stop and snap removal by claudiubelu · Pull Request #4755 · canonical/microk8s · GitHub
- kube-ovn: Fix placeholder not being replaced on enable by @HomayoonAlimohammadi in kube-ovn: Fix placeholder not being replaced on enable by HomayoonAlimohammadi · Pull Request #307 · canonical/microk8s-core-addons · GitHub
Updates
- Update calico version to v3.28.1 by @maci3jka in Update calico version to v3.28.1 by maci3jka · Pull Request #4638 · canonical/microk8s · GitHub
- K8s-dqlite v1.3.0 (Dqlite LTS) by @louiseschmidtgen in K8s-dqlite v1.3.0 (Dqlite LTS) by louiseschmidtgen · Pull Request #4756 · canonical/microk8s · GitHub
- Bump runc to v1.1.15 and containerd to v1.6.36 by @berkayoz in Bump runc to `v1.1.15` and containerd to `v1.6.36` by berkayoz · Pull Request #4768 · canonical/microk8s · GitHub
- Bump cni plugins to v1.6.0 by @berkayoz in Bump cni plugins to v1.6.0 by berkayoz · Pull Request #4769 · canonical/microk8s · GitHub
- Bump pause image to 3.10 by @berkayoz in Bump pause image to 3.10 by berkayoz · Pull Request #4770 · canonical/microk8s · GitHub
- Bump helm to v3.16.3 by @berkayoz in Bump helm to v3.16.3 by berkayoz · Pull Request #4771 · canonical/microk8s · GitHub
- Bump go version to 1.23 by @berkayoz in Bump go version to 1.23 by berkayoz · Pull Request #4781 · canonical/microk8s · GitHub
- Update Default GPU Operator Version to v24.6.2 by @VariableDeclared in Update Default GPU Operator Version by VariableDeclared · Pull Request #305 · canonical/microk8s-core-addons · GitHub
- Upgrade kube-ovn to v1.12 by @Dakror in Upgrade kube-ovn to v1.12 by Dakror · Pull Request #292 · canonical/microk8s-core-addons · GitHub
Release Specific Changes
- Add patches for 1.32 by @berkayoz in Add patches for 1.32 by berkayoz · Pull Request #4772 · canonical/microk8s · GitHub
- Add updated strict patches for runc by @berkayoz in Add updated strict patches for runc by berkayoz · Pull Request #4774 · canonical/microk8s · GitHub
- Disable WatchList feature gate by @berkayoz in Disable WatchList feature gate by berkayoz · Pull Request #4773 · canonical/microk8s · GitHub
Many thanks to our contributors
- @Dakror
- @VariableDeclared
- @aznashwan
- @claudiubelu
- @maci3jka
- @louiseschmidtgen
- @HomayoonAlimohammadi
- @berkayoz
MicroK8s 1.31 released
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.31/stable
In this release
Here are some of the updates and new features in this 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
Read more about the Kubernetes release at Kubernetes v1.31: Elli | Kubernetes
MicroK8s 1.30 released
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.30/stable
Featured in this release
Kubernetes 1.30
Read more at Kubernetes v1.30: Uwubernetes | Kubernetes
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 Do not set --hostname-override on kube-proxy when joining a cluster by neoaggelos · Pull Request #4360 · canonical/microk8s · GitHub
- Use build-snaps instead of manually installing the go snap by @IsaacJT in Use build-snaps instead of manually installing the go snap by IsaacJT · Pull Request #4377 · canonical/microk8s · GitHub
- Bump containerd to v1.6.28 and runc to v.1.1.12 by @louiseschmidtgen in Bump containerd to v1.6.28 and runc to v.1.1.12 by louiseschmidtgen · Pull Request #4398 · canonical/microk8s · GitHub
- Fix erroneous microk8s join invocations by adding validation by @skatsaounis in Fix erroneous microk8s join invocations by adding validation by skatsaounis · Pull Request #4397 · canonical/microk8s · GitHub
External contributors
- @IsaacJT made their first contribution in Use build-snaps instead of manually installing the go snap by IsaacJT · Pull Request #4377 · canonical/microk8s · GitHub
- @skatsaounis made their first contribution in Fix erroneous microk8s join invocations by adding validation by skatsaounis · Pull Request #4397 · canonical/microk8s · GitHub
- @miro-balaz rewrote the dqlite list query Rewritten list query, test and fix [#82] by miro-balaz · Pull Request #83 · canonical/k8s-dqlite · GitHub
- @smeng9 contributed a new addon Stunner Adding the stunner add-on by smeng9 · Pull Request #223 · canonical/microk8s-community-addons · GitHub
- @udit-uniyal addressed KubeArmor installation issue Resolve KubeArmor Installation Issue: Transition to Helm-Based Method in MicroK8s Community Addons by udit-uniyal · Pull Request #216 · canonical/microk8s-community-addons · GitHub
Users following the latest stable MicroK8s track will be automatically upgraded to v1.30 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, and to contribute to the project, check out the repo at https://github.com/canonical/microk8s, or chat with us on the Kubernetes Slack, in the microk8s channel!
MicroK8s v1.29 released!
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.29/stable
Detailed 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
Users following the latest stable MicroK8s track will be automatically upgraded to v1.29 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, and to contribute to the project, check out the repo at https://github.com/canonical/microk8s, or chat with us on the Kubernetes Slack, in the microk8s channel!
MicroK8s v1.28 released!
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.28/stable
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:
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
Users following the latest stable MicroK8s track will be automatically upgraded to v1.28 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, and to contribute to the project, check out the repo at GitHub - canonical/microk8s: MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge., or chat with us on the Kubernetes Slack, in the microk8s channel!
MicroK8s v1.27 released!
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.27/stable
Featured in this release
cloudinit-like launch configurations
Users can 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
Users following the latest stable MicroK8s track will be automatically upgraded to v1.27 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, and to contribute to the project, check out the repo at GitHub - canonical/microk8s: MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge., or chat with us on the Kubernetes Slack, in the microk8s channel!
MicroK8s v1.26 - 12 December 2022
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.26/stable
Featured 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.
Non 1.26 specific but still relevant work
Cluster API support
MicroK8s bootstrap and control plane CAPI providers for AMD64 and ARM64. Clusters deployed with Cluster API benefit from features such as; automatic and frictionless patch-level upgrades, a comprehensive set of addons to ease the cluster deployment and operations, as well as the ability to deploy any Kubernetes version with ease.
EKS-D
EKS-D is a Kubernetes distribution with extended support used by Amazon Elastic Kubernetes Service (EKS). New tracks have been introduced to accommodate all EKS-D releases: 1.22, 1.23 and 1.24. For example, get the 1.24 release with:
snap install microk8s --classic --channel=1.24-eksd/stable
The EKS-D tracks bundle the extra patches from the EKS Distro as well as various addons for storage and authentication, offering a similar experience to EKS with all the added benefits of MicroK8s.
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
- ClusterAPI support for RBAC management clusters
- ClusterAPI providers for both AMD64 and ARM64 architectures
- 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, and to contribute to the project, check out the repo at GitHub - canonical/microk8s: MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge., or chat with us on the Kubernetes Slack, in the microk8s channel!
MicroK8s v1.25 - 25 August 2022
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.25/stable
New MicroK8s features
Strict confinement goes into general availability
MicroK8s is delivered through Snaps and enjoys the benefits of updates and security features.
Now we’re stepping even further in direction by implementing strict confinement as a new availability channel. We’re delighted to now offer our users a confined Kubernetes experience that has restricted host system access and a more restrictive security posture. Try it out with:
snap install microk8s --channel=1.25-strict/stable
Shrinking snap size
We’re constantly striving to improve our user experience and as part of this we want to give you MicroK8s in the fastest way possible. As part of this we’ve reduced our snap size by up to 25% to help you get your Kubernetes up and running faster than ever.
Addons go from strength to strength
With the introduction of core & community addon repositories, there are new observability, networking and security addons that are generally available in this release.
Image side-loading support
In order to facilitate offline deployments, faster start up times and local development; we have introduced image sideloading support into MicroK8s 1.25.
Power9 architecture support
You asked for it and we listened. For our community that uses Power9 based machines for acceleration, security and data-intensive workloads; MicroK8s can now be operated on these systems.
Updates
Most important updates since the last release:
-
Kubernetes core services
- Kubernetes v1.25
- Support for new architecture, Power9 (ppc64el)
- Containerd upgraded to v1.6.6
- Runc upgraded to v1.1.2
- CoreDNS upgraded to v1.9.3
- Dqlite upgraded to v1.11.1
- CNI tools upgraded to v0.9.1
- Helm v3.9.1 is now bundled as part of the snap
- Flannel upgraded to v0.15.1
- Calico updated to v3.23
- Streamlined build process, resulting in a reduced size by about 60MB (230MB → 170MB)
-
Usability Improvements
- New
microk8s images import
andmicrok8s images export-local
commands, allowing side-loading of OCI images across the whole cluster. - Extend the microk8s CLI with binaries found under $SNAP_COMMON/plugins/
- New
microk8s version
command - The ingress addon creates an ingress class with name “nginx”, thank you @Orzelius
- Hostpath provisioner updated to v1.4.0, now allows for setting the reclaim policy, courtesy of @jkosik, as well as specifying StorageClasses to point to configurable host paths, thank you @balchua
- Support using a custom storage class for the registry addon, thank you @sudeephb
- The dashboard addon creates a token for accessing it (microk8s-dashboard-token)
- Check the correct file for AppArmor confinement, thank you @MFAshby
- Improved kubelet token search, thank you @ortegarenzy
- New
-
Addon updates
- Prometheus addon is deprecated and replaced with observability addon
- New addon: kube-ovn, try it with
microk8s enable kube-ovn
- New community addon: nfs, try it with
microk8s enable nfs
, thank you @jkosik - New community addon for open source mesh, try it with
microk8s enable osm-edge
, thank you @naqvis - Dashboard updated to v2.6.0, thank you @dud225
- Updated tests for inaccel addon, thank you @eliaskoromilas
- Portainer addon updated, thank you @balasu
- NVIDIA GPU operator updated to v1.11.0
- ArgoCD updated to v4.6.3, thank you @jkosik
- Upgrade Multus CNI to 3.9.0 and support for arm64 architectures, thank you @dud225
- Registry addon updated to 2.8.1, adding support for s390x and ppc64le architectures.
- Updated Linkerd to v2.12.0, thank you @balchua
- Updated Jaeger to v1.36, thank you @balchua
- Updated Keda to v2.8.0, thank you @balchua
- Updated MetalLB to v0.13.3, adding support for configuring address pools via CRD, thank you @balchua
- Updated Knative to v1.6.0 available on arm64, s390x and ppc64el, thank you @csantanapr
Users following the latest stable MicroK8s track will be automatically upgraded to v1.25 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, and to contribute to the project, check out the repo at GitHub - canonical/microk8s: MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge., or chat with us on the Kubernetes Slack, in the microk8s channel!
MicroK8s 1.24 - 4 May 2022
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.24/stable
Most important updates since the last release:
-
Kubernetes core services
- Kubernetes v1.24
- containerd v1.5.12, runc v1.0.3
- calico upgraded to v3.21.4
- Read only kubelet port 10255 closed by default
- Nginx Ingress controller updated to v1.2.0
- CoreDNS updated to v1.9.0, thank you @balchua
- dqlite updated to v1.10.0, improved memory management
-
Usability Improvements
- The control plane will not start automatically in low memory systems (less than 512MB of RAM)
- Hostname resolution is now checked when nodes join a cluster
- The
microk8a add-node
command now has optional yaml or json output - Updated LXD profile to work on the latest OS releases. Thank you @caleblloyd
- Mayastor HA-storage option available with
microk8s enable mayastor
microk8s reset
refactored with improved output- Allow repositories with addons to be added at runtime
- Addons can now be edited before they are enabled
-
Addon updates
- NGINX Ingress updated to v1.2.0, thank you @balchua
- Helm upgraded to v3.8.0, thank you @balchua
- KEDA upgraded to v2.6.0, thanks to @balchua
- Dashboard upgraded to v2.3.0, thank you @hryyan
- Traefik updated to v2.5, thank you @miro-balaz
- Install traefik via Helm, thank you @balasu
- Install portainer via Helm, thank you @balasu
- Updated hostpath-provisioner version. Please
microk8s disable hostpath-storage
andmicrok8s enable hostpath-storage
if you run an old version of the hostpath provisioner.- Remove reliance on selfLink, which has been removed for Kubernetes 1.24+, thank you @chris-hamper
- Fix non-root containers being unable to write to volumes
- Ensure NodeAffinity rules are set for all PersistentVolumes
- Support for s390x architecture
- The Kubeflow and Juju addons have been removed. To install Kubeflow on MicroK8s, please see the Charmed Kubeflow docs.
- The Ambassador addon has been removed.
- New addon: ArgoCD. Try it with
microk8s enable community; microk8s enable argocd
. Thank you @dirien - New addon: StarBoard. Try it with
microk8s enable community; microk8s enable starboard
. Thank you @AnaisUrlichs
Users following the latest stable MicroK8s track will be automatically upgraded to v1.24 in the next few days. Those who want to upgrade their existing clusters can follow the instructions in our docs.
Note: In this release selfLink is removed from upstream Kubernetes, therefore if you run an old hostpath-provisioner (version 1.0.0) its pod will start crashlooping. If this is the case please reenable the hostpath-storage addon with microk8s disable hostpath-storage
and microk8s enable hostpath-storage
. When disabling the addon you will be asked if you want to keep the already provisioned persistence volume claims.
For more information on MicroK8s consult the official docs, and to contribute to the project, check out the repo at GitHub - canonical/microk8s: MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge., or chat with us on the Kubernetes Slack, in the microk8s channel!
MicroK8s 1.23 - 8 Dec 2021
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.23/stable
Most important updates since the last release:
- Kubernetes core services
- Kubernetes 1.23
- Kubernetes services profiling disabled by default
- Events TTL set to 5 minutes
- Improved dqlite stability and performance
- For deployments on lxc conntrack limits are not set to improve compatibility
- Usability Improvements
- Option to add worker only nodes. Use
--worker
in themicrok8s join
command - Improved
microk8s join
output, thanks @gkarthiks - Options to format the output of
add-node
, thanks @jlettman - Ignore unroutable DHCP failure addresses, thanks @erulabs
- Fix warnings in build process and the addons dns and dashboard, thank you @MichaelCduBois
- Pull introspection report out of the multipass VM when running
microk8s inspect
on Windows and Mac, thanks @farazmd - Registry configuration in containerd configuration now follows the new format described in the upstream docs. Thank you @BabisK
- Fix typo in the output of MicroK8s installer, thanks @sfstpala
- Option to add worker only nodes. Use
- Addon updates
- Nginx Ingress controller updated to v1.0.5
- Metrics server updated to v0.5.2, thanks @balchua
- Portainer will maintain its state while enabling/disabling it, thank you @balasu
- The NVIDIA operator upgraded to v1.8.2, with enhanced MIG support.
- Local registry updated to the latest upstream
- Linkerd upgraded to v2.11.1, thanks @tobiasmuehl
- Keda upgraded to v2.4.0, thanks @balchua
- Jaeger operator upgrade to v1.28.0, thanks @balchua
- OpenEBS v3.0 released, thanks @niladrih
- New addons:
- microk8s enable dashboard-ingress, thanks @jlettman
- inaccel addon targeting FPGA acceleration. Thank you @eliaskoromilas
- Deploy MicroK8s with Juju, visit Charmhub to see how.
Users following the latest stable MicroK8s track will be automatically upgraded to v1.23 in the next few days. Those who want to upgrade their existing clusters can follow the instructions in our docs.
For more information on MicroK8s consult the official docs, and to contribute to the project, check out the official repo on GitHub, or chat with us on the Kubernetes Slack, in the #microk8s
channel!
MicroK8s 1.22 - 9 Aug 2021
MicroK8s is a Kubernetes cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows 10. With a quick install, easy upgrades and great security, MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.22/stable
Most important updates since the last release:
- Kubernetes core services
- Kubernetes v1.22
- Improve the performance and stability of dqlite
- S390x support. Check out the 1.22/edge channel
- cgroupV2 support, courtesy of @tbertenshaw
- Upgrade calico to v3.19.1. Thank you @balchua
- New kata containers addon. Try it with
microk8s enable kata
- Addon updates:
- Nvidia operator v1.7.0 can now detect pre-installed drivers
- Kube-prometheus upgraded to v0.8.0. Thank you @balchua
- Kubernetes dashboard upgraded to v2.2.0, thanks to @nbraquart
- Upgrade linkerd to v2.10.2. Thank you @balchua
- Upgrade the metrics-server to v0.5.0. Courtesy of @balchua
- knative updated to v0.24, thanks to @saikiran2603
- Cilium CNI updated to v1.10
- Jaeger addon updated to v1.24, thanks @balchua
- Istio addon updated to v1.10.3
- New Elasticsearch and Kibana version, v3.1.0. Thanks @s12v
- OpenEBS addon for ARM64. Thank you @balchua
- Usability improvements
- Use ClusterFirstWithHostNet as DNS policy for Traefik. Thank you @AlexGustafsson
- Guards in Cilium clustering thanks to @Jorgeewa
- OpenFaaS bug fixes, thank you @dsbibby
- MicroK8s status yaml fixes. Thank you @krichter722
- Improvements in micrk8s wrapper, thank you @shoce
- Attempt to configure UFW for calico CNI
- Seamless snap refreshes. Containers do not restart on snap upgrades
Users following the latest stable MicroK8s track will be automatically upgraded to v1.22 in the next few days.
Upgrade notes:
Due to removed Kubernetes APIs, clusters using the ingress and/or metrics add-ons will need to refresh them by disabling and re-enabling them.
microk8s disable metrics-server
microk8s disable ingress
microk8s enable metrics-server
microk8s enable ingress
Note that this means any custom settings will also need to be re-applied.
Known issues:
- OpenEBS addon not yet available on Kubernetes v1.22 · Issue #2498 · canonical/microk8s · GitHub
- Kubeflow addon not yet available on Kubernetes v1.22 · Issue #2496 · canonical/microk8s · GitHub
For more information on MicroK8s consult the official docs, and to contribute to the project, check out the repo at GitHub - canonical/microk8s: MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge., or chat with us on the Kubernetes Slack, in the #microk8s
channel!
MicroK8s 1.21 - 9 April 2021
MicroK8s is a Kubernetes® cluster delivered as a single snap package - it can be installed on any Linux distribution which supports snaps, as well as macOS and Windows 10. With a quick install, easy upgrades, and great security MicroK8s is perfect for micro clouds and edge computing. Try it on your laptop!
snap install microk8s --classic --channel=1.21/stable
Most important updates since the last release:
- Kubernetes core services:
- Kubernetes 1.21!
- Major stability and performance dqlite fixes
- Kubelite, single go binary for all Kubernetes services
- Containerd updated to v1.4.4, thanks @tbertenshaw
- CNI plugins updated to v0.8.7, thanks @angelnu
- Storage support for multi-node clusters
- New OpenEBS addon, try it with
microk8s enable openebs
, courtesy of @balchua - CSI storage plugins improved support
- New OpenEBS addon, try it with
- New OpenFaaS addon courtesy of @LucasRoesler. Try it with
microk8s enable openfaas
- Addon updates:
- GPU support is now offered via the NVidia operator, see [1] for known issues.
- Linkerd updated to v2.9.4. Thank you @balchua
- CoreDNS updated to v1.8.0. Thank you @balchua
- KEDA updated to v2.1.0. Thank you @balchua
- Jaeger updated to v1.21.3. Thank you @balchua
- Prometheus updated to v0.7.0. Thank you @balchua and @tbertenshaw
- Ingress updated to v0.44.0. Thank you @balchua
- Fluentd updated to v3.1.0. Thank you @balchua
- Knative updated to v0.21
- Helm upgraded to 3.5.0
- Usability improvements
- Joining nodes will now verify the peer they contact before forming the cluster
microk8s kubectl apply -f
now works with local files on Windows and MacOS
- Other noteworthy enhancements
- Inspection script detects vxlan.calico UFW rule, thank you @petermetz
- Fix in traefik RBAC rules, courtesy of @lazyoldbear
- Update to support distributions with iptables-nft
- Dashboard and metrics server fixes for multi-os clusters. Thank you @luciimon
- Remote builds are now supported. Try building the snap with
snapcraft remote-build --build-on=amd64,arm64
. Thank you @angelnu - Improved error messaging and build instructions. Thank you @galgalesh
- Improvements in the installation path. Thank you @balchua and @barosl
Users following the latest stable MicroK8s track will be automatically upgraded to 1.21 in the next few days.
For more information on MicroK8s consult the official docs, and to contribute to the project, check out the repo at GitHub - canonical/microk8s: MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge., or chat with us on the Kubernetes Slack, in the #microk8s
channel!
MicroK8s 1.20 - 11 December 2020
Most important updates since the last release:
- Kubeflow updated to v1.2
- Make MicroK8s failure domain aware
- Addons can now use
--foo
arguments - New addon: KEDA. Thank you @balchua
- New addon: Portainer. Many thanks @balasu
- Try out Traefik v2.3 ingress with
microk8s enable traefik
. Thanks @balasu - Prometheus monitoring available for ARM64, thank you @balchua
- Linkerd updated to v2.9.0 and available for ARM64, thank you @balchua
- Ingress updated to v0.35.0, thank you @balchua
- Cilum updated to v1.8.3, thank you @balchua and @joestringer
- Juju updated to 2.8
- Option to set forward DNS servers when enabling DNS. Thank you @RiyaJohn
--help
argument inmicrok8s inspect
, thank you @bowers- fix race condition in setting the registry configmap, thank you @nicks
Make sure you also check out the support for Kata Containers and the Akri integration by @didier-durand.
Users following the latest stable MicroK8s track will be automatically upgraded to 1.20 in the next couple of days.
For more information on MicroK8s consult the official docs, and to contribute to the project, check out the repo at GitHub - canonical/microk8s: MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge., or chat with us on the Kubernetes Slack, in the #microk8s
channel!
MicroK8s 1.19 - 28 August 2020
Most important updates since the last release:
- High Availability. Try it by clustering at least three nodes.
- Improved
microk8s status
output. - New ambassador addon, courtesy of @inercia.
- Multus support via a new addon. Thank you @apnar.
- New “host-access” addon to allow you to access host services from pods, courtesy of @iskitsas.
- The
microk8s.dashboard-proxy
command makes it easier to access the dashboard. - The
microk8s.dbctl
command allows for backing up the cluster’s datastore. - Static token file used for admin authentication.
- In adding a node you can now provide your own token. You can also set the time a join token expires. Thank you @balchua .
- You can now set the registry size while enabling the addon, courtesy of @cyril-corbon
- Addition of the ingress controller ConfigMaps to support ingress of TCP and UDP. Thank you @trulede.
- Set the TLS certificate when enabling ingress with microk8s.enable ingress:default-ssl-certificate=namespace/secretname . Thank you @marcobellaccini.
- Ingress images updated to v0.33. Thank you @balchua.
- “micrk8s.ctr” detects the right snapshotter. Thank you @hpidcock .
- kubelet comes with token auth enabled so prometheus can monitor it. Thank you @double73.
- Istio updated to v1.5.1, thank you @nepython for your effort here.
- The dashboard addon deploys only the dashboard v2.0.0 and the metrics server. Thank you @balchua.
- Containerd updated to v1.3.7. Thank you @balchua.
- Dashboard image pull policy set to default (ifNotPresent), thank you @biiiipy.
- Linkerd updated to v2.8.0. Thank you @balchua.
- The MetalLB updated to v0.9.3 and now supports multiple ranges and CIDR notation. Thank you @siddharths2710 and @balchua.
- Fluentd updated to v3.0.2, courtesy of @balchua.
- Prometheus updated to v2.20.0 as part of kube-promethues v0.6.0. Thank you @balchua.
- Added local registry discovery support, courtesy of @nicks.
Users following the latest stable MicroK8s track will be automatically upgraded to 1.19
MicroK8s 1.18 - 26 March 2020
Most important updates since the last release:
- Installers for MacOS and Windows
- Kubeflow 1.0 addon
- Added new snap interface enabling other snaps to detect MicroK8s’ presence.
- CoreDNS addon upgraded to v1.6.6, thank you @balchua
- New Helm 3 addon, available with
microk8s helm3
, thanks @qs - Ingress RBAC rule to create configmaps, thank you @nonylene
- Allow
microk8s kubectl
to use plugins such as krew. Thank you @balchua microk8s reset
will attempt to disable add-ons. Thank you @balchua- etcd upgraded to 3.4 by @lazzarello (for ARM64 only)
- Juju has been upgraded to 2.7.3 and is now packaged with the snap
- On ZFS, the native snapshotter will be used. Thank you @sevangelatos
- Improved
microk8s status
output. Thank you @balchua - Hostpath can now list events when RBAC is enabled. Thank you @Richard87
- Certificates are set to have a lifespan of 365 days
- Linkerd updated to v2.7.0. Thank you @balchua
- knative updated to v0.13.0.
- Fix in fetching more stats from cAdvisor. Courtesy of @nonylene
- Fix enabling add-ons via the rest API. Thank you @giorgos-apo
- Fix metallb privilege escalation on Xenial. Thank you @davecahill
MicroK8s 1.17 - 11 December 2019
Most important updates since the last release:
- New addon: kubeflow. Give it a try with
microk8s enable kubeflow
. - MetalLB Loadbalancer addon, try it with
microk8s enable metallb
. Thank you @dangtrinhnt for your efforts here. - Separate front proxy CA, courtesy of @giner
- Linkerd updated to v2.6.0, thank you @balchua
- Jaeger operator updated to v1.14.0
- Updating prometheus operator (latest). Thanks @rlankfo
- Istio upgraded to v1.3.4. Thank you @nobusugi246
- Helm upgraded to 2.16.0, thank you @balchua, @fabrichter and
@icanhazbroccoli
- Helm status reported in
microk8s status
, thank you @greenyouse - Set default namespace of
microk8s ctr
tok8s.io
, thank you @joestringer - Better exception handling in the clustering agent, thank you @shashi278
- Fixes in cluster upgrades, courtesy of @strigona-worksight
microk8s inspect
now cleans priority and storage classes. Thank you @rbtmicrok8s inspect
will detect missing cgroups v1 and suggest changes on Fedora 31. Thank you @soumplis
Microk8s 1.16 - 26 September 2019
Changelog
- Clustering - MicroK8s nodes can be joined to create a multi-node cluster,
see these docs if you want to try it. - New Cilium addon courtesy of @joestringer. Try it with
microk8s enable cilium
. - New Helm addon courtesy of @joestringer. Try it with
microk8s enable helm
. - RBAC rules for CoreDNS and storage add ons, courtesy of @wichert.
- Istio upgraded to v1.2.2 and now includes kiali.
- Knative upgraded to v0.9.0.
- Enabling of aggregation layer and fix on metrics server RBAC rules,
thank you @giner. - microk8s reset has now an option to free the disk space reserved by
storage volumes. Thank you @rzr. - Ingress updated to v0.25.1, thank you @balchua.
- Improvements in the inspection script, thanks @giorgos-apo.
- Dashboard upgraded to 2.0.0 beta4.
For more information on MicroK8s consult the official docs, and to contribute to the project, check out the repo at repo, or chat with us on the Kubernetes Slack, in the #microk8s
channel!
Microk8s 1.15 - 21 June 2019
Changelog
- RBAC support via a simple
microk8s enable rbac
, courtesy of @magne. - Update of the Dashboard to 1.10.1 and fixes for RBAC. Thank you @balchua.
- Knative addon, try it with
microk8s enable knative
. Thank you @olatheander for your contribution. - CoreDNS is now the default. Thanks @richardcase for driving this.
- Ingress updated to 0.24.1 by @JorritSalverda, thank you.
- Fix on socat failing on Fedora by @JimPatterson, thanks.
- Modifiable CSR server certificate, courtesy of @balchua.
- Use of iptables kubeproxy mode by default.
- User guide moved out of GitHub to microk8s.io .
- Instructions on how to run Cilium on MicroK8s by @joestringer.
MicroK8s 1.14 - 25 March 2019
Changelog
- Containerd replaced dockerd. Thanks to @waquidvp for keeping up
with the containerd and runc updates. - The Ingress controller got updated to v0.22.0 (thanks to @khteh) and is now using:
- the correct ConfigMap (thanks @keshavdv).
- the ClusterFirstWithHostNet dnsPolicy (thanks @klarose).
- the right targetport (thanks @davefinster).
- Istio addon now deploys Istio v1.0.5.
microk8s.reset
now deletes CRDs. Thank you @miguelgarcia.- Improved security of exposed ports and services.
- Three new addons are available since the last release anouncement:
- Jaeger, available with:
microk8s.enable jaeger
. - Fluentd, try it with:
microk8s.enable fluentd
. - Prometheus, enable it with:
microk8s.enable prometheus
.
- Jaeger, available with:
- Installation on Arch Linux now correctly detects the machine architecture.
- kubectl now uses a secure kubeconfig found in a configurable location.
MicroK8s 1.13 - 14 February 2019
Changelog
- New website! Check it out at https://microk8s.io.
- ARM64 support!
microk8s.start
andmicrok8s.stop
commands allow you to easily enable and disable MicroK8s.microk8s.status
gives you an overview of the current status.- We now detect host IP changes. You can now use MicroK8s on your laptop without the need to restart it whenever you switch networks.
- MicroK8s is now a CNCF certified Kubernetes. Certification was for v1.12; v1.13 will follow shortly.
- Enable digitalSignature key usage for CA (thanks @lhotari).
- Pod eviction limit due to memory shortage decreased to 100MB.
MicroK8s 1.12 - 13 November 2018
Changelog
- Stable releases of 1.10, 1.11, 1.12.
- Private registry addon (
microk8s.enable registry
). - GPU addon (
microk8s.enable gpu
). - Istio v1.0.0 addon (
microk8s.enable istio
). - Metrics server (
microk8s.enable metrics-server
). - Inspect command for deployment troubleshooting (
microk8s.inspect
). - CNI updated to v0.7.1.
- Bug fix: Ship socat in the snap.
- Bug fix: Metrics for pods are now available in the grafana dashboard addon.
- Bug fix: ZFS utilities are now shipped with the snap.
- Bug fix: microk8s.reset will now remove all resources.
MicroK8s 1.11 - 10 July 2018
Changelog
- New ingress controller addon -
microk8s.enable ingress
- creates an ingress controller. - New storage addon -
microk8s.enable storage
- creates a default storage class using hostpath-provisioner and a directory on the host. - New command:
microk8s.reset
- stops all running pods, deployments, services, and daemons. - New command:
microk8s.config
- outputs the config used bymicrok8s.kubectl
. - Bug fix: Clean up snap removal.
- Bug fix: Add Ubuntu Trusty (14.04) support.