Installing MicroK8s on a Raspberry Pi

Note: Running Kubernetes can cause a lot of I/O requests and pressure on storage. It is not recommended to use a USB stick as primary storage when running MicroK8s.

Running MicroK8s on some ARM hardware may run into difficulties because cgroups
(required!) are not enabled by default. This can be remedied on the Rasberry Pi
by editing the boot parameters:

sudo vi /boot/firmware/cmdline.txt

Note: In some Raspberry Pi Linux distributions the boot parameters are in `/boot/firmware/nobtcmd.txt`.

And adding the following:

cgroup_enable=memory cgroup_memory=1

To address disk performance issues often present on Raspberry Pi see the troubleshooting section.

Installation is then via the snap as usual:

sudo snap install microk8s --classic --channel=1.25

On Ubuntu 21.10: Install extra kernel modules with sudo apt install linux-modules-extra-raspi and restart MicroK8s with sudo microk8s stop; sudo microk8s start.