Create a Kubernetes cluster on ARM

The following describes a quick and dirty recipe to create a Kubernetes cluster on ARM.

Note this assumes you have the latest version of Docker already installed on your worker node.

Log into the master. And become root using:

  sudo su

Then open /boot/cmdline.txt and add the following to the end of the line:

  cgroup_enable=cpuset cgroup_enable=memory cgroup_memory=1

Then turn off your swap using:

  dphys-swapfile swapoff && dphys-swapfile uninstall && update-rc.d dphys-swapfile remove

Reboot the master using:


After the reboot log back into the master and become root using:

  sudo su

Then add the kubernetes repositories using:

  curl -s | apt-key add - 
    && echo "deb kubernetes-xenial main" 
    | tee /etc/apt/sources.list.d/kubernetes.list && apt-get update -q 
    && apt-get install -qy kubeadm 

Now use kubeadm to create the master as follows:

  kubeadm init --apiserver-advertise-address=<ip>

Note replace <ip> with the IP address of your master.

And voila you now have a Kubernetes cluster running on ARM.

Posted February 5th, 2018