Skip to main content

You can now set up a baby Kubernetes cluster on Raspberry Pi

Raspberry Pi
(Image credit: Raspberry Pi Foundation)

Canonical, the company behind popular Linux distro Ubuntu, recently released the latest version of MicroK8, which enables the building of Kubernetes environments on the edge.

MicroK8s is Canonical’s lightweight Kubernetes distro, which offers a quick and relatively simple way for people to spin Kubernetes clusters.

With the latest MicroK8s 1.21 release, Canonical has managed to further trim the memory footprint of the distro to enable users to deploy containers on resource-strapped edge devices, such as the Raspberry Pi.

Released together with Kubernetes 1.21, MicroK8s 1.21 boasts of a 32.5% smaller RAM footprint than the previous v1.20 release when benchmarked against both single node and multi-node deployments, according to Canonical.

Small footprint

As MicroK8s is especially designed for edge and Internet of Things (IoT) use cases, users were constantly bugging the company to slim it down enough to enable them to use it to build clusters on hardware such as the Raspberry Pi and the Nvidia Jetson, notes Canonical's Product Manager for data center solutions Alex Chalkias,

With the smaller footprint of the latest release, it’s now possible to run MicroK8s on devices with less than 1Gb of memory “and still leave room for multiple container deployments, needed in use cases such as three-tier website hosting or AI/ML model serving,” writes Chalkias. 

He explains that the smaller footprint was achieved by compiling all upstream binaries into a single binary prior to packaging. 

Earlier, all Kubernetes upstream binaries were either compiled “as they were” or compiled using the snap packaging mechanism. This created a package that weighed 218MB and deployed a full Kubernetes instance of 800MB. 

With the new packaging strategy, MicroK8s weighs in at just 192MB and enables a Kubernetes of 540MB.

Via ZDNet