If during setup of a Kubernetes cluster (in this case it’s microk8s) on a Raspberry Pi 5 running Ubuntu Server 24.10 you get the following error
Error: failed to create containerd task: failed to create shim task: OCI runtime create failed: runc create failed: unable to start container process: error during container init: error setting cgroup config for procHooks process: unified resource “memory.oom.group” can’t be set: controller “memory” not available: unknown
during calico-node startup and can’t find a solution, fear not, I have a solution for you.
For unknown reason Control Group V2 memory module was not enabled. Kubernetes tries to use it by default and due to this conflict, Calico node (or any other as well) fails to start.
To verify if this is the case, run
cat /sys/fs/cgroup/cgroup.controllersIf memory module IS enabled, output will look something like this:

cpuset cpu io memory hugetlb pids rdma misc dmemIf, however it’s not enabled, memory entry will be missing.
The solution for Raspberry Pi is to enable cgroup memory module. To do it edit cmdline.txt
sudo nano /boot/firmware/cmdline.txt and add
cgroup_enable=memory cgroup_memory=1
and the end of the line

Then save, reboot
sudo reboot nowand it should work
cat /sys/fs/cgroup/cgroup.controllers









Leave a Reply