Kubernetes with Mixed CPU Architecture

Creating a Raspberry Pi Kubernetes cluster is straight forward, however it becomes more complicated when you want to mix and match kubernetes nodes of different CPU architectures.

I recently deployed a new Kubernetes cluster in my home lab which initially consisted of two Ubuntu nodes running kubeadm and are  VMs on VMware ESXi. Last night I tried to add a Raspberry Pi  and ran into a couple of issues which I resolved and describe further down to save you some time.

kubectl get nodes -o wide
NAME               STATUS    ROLES     AGE       VERSION   INTERNAL-IP     EXTERNAL-IP   OS-IMAGE                         KERNEL-VERSION      CONTAINER-RUNTIME
k8s-raspberry-01   Ready         4h        v1.11.2   192.168.1.216           Raspbian GNU/Linux 9 (stretch)   4.14.62-v7+         docker://18.6.1
k8s-ubuntu-01      Ready     master    5d        v1.11.2   192.168.1.127           Ubuntu 18.04.1 LTS               4.15.0-33-generic   docker://18.6.1
k8s-ubuntu-02      Ready         5d        v1.11.2   192.168.1.156           Ubuntu 18.04.1 LTS               4.15.0-33-generic   docker://18.6.1

Continue reading “Kubernetes with Mixed CPU Architecture”