After my last blog, I had thought I had this pretty much working. Not really. Once I got the api server and minion up and running I still needed to get networking running. The suggestion in the kubeadm install instructions says to use Weave. I know there are several networking plugins for Kubernetes, and I’ll be honest I don’t really know or understand the benefits to them. What I did quickly realize was that Weave didn’t have any images for arm, everything was x86. Once again Lucas Käldström (@kubernetesonarm) was able to help. He pointed me to a yaml that would deploy a flannel compiled for arm assuming you replaced all the references to amd64 with arm. This got flannel running, but now working. The gory details are in a ticket I updated on flannel in GitHub.
To get this figured out I went through a few steps:
- The api server continued to complain that eth0 didn’t exist
- Since these are pi 3, they had wireless but I didn’t want wireless
Ubuntu MATE was naming network interfaces based on the card’s MAC address instead of eth0. I don’t know if this was a red herring or not, but I figured I’d rather make sure so I followed these instructions to get it renamed to eth0. I then followed these instructions to get wlan0 disabled. Finally, I followed the instructions in the above GitHub ticket and everything was up and running.
A quick note about running this on Raspbian Jessie. I couldn’t get it to work. I thought it would, but when kubeadm started it seemed to be unable to communicate with Docker 1.12.1.
Thanks again Lucas for your help! Now to get Unison running on arm…