Microk8s Versions Save

MicroK8s is a small, fast, single-package Kubernetes for datacenters and the edge.

v1.30

3 weeks ago

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

External contributors

v1.29

4 months ago

"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

6 months ago

microk8s version: 1.28 kubectl version: 1.28.3 multipass version: 1.12.2 installer version: 2.3.4

v1.28

8 months ago

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

installer-v2.3.3

10 months ago

v1.27

1 year ago

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

installer-v2.3.2

1 year ago

installer-v2.3.1

1 year ago

v1.26

1 year ago

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

  • 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!

v1.25

1 year ago

Most important 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 since last release

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 and microk8s 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
  • 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 https://github.com/ubuntu/microk8s, or chat with us on the Kubernetes Slack, in the #microk8s channel!