arm) Kubernetes cluster setup
The official guide for setting up Kubernetes using
kubeadm works well for clusters of one architecture. But, the main problem that crops up is the
kube-proxy image defaults to the architecture of the master node (where
kubeadm was run in the first place).
This causes issues when
arm nodes join the cluster, as they will try to execute the
amd64 version of
kube-proxy, and will fail.
It turns out that the pod running
kube-proxy is configured using a DaemonSet. With a small edit to the configuration, it's possible to create multiple DaemonSets—one for each architecture.
Follow the instructions at https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ for setting up the master node. I've been using Weave Net as the network plugin; it see