Installing Kubernetes Using kubeadm

2017-03-20

The deployment of Kubernetes has become a little easier using the kubeadm tool. The tools are still in alpha and the guide is still not as thorough as I would have hoped.

Installing Flannel as a Pod Network

Once you’ve completed the first two steps, you should have a working master node. To add additional child nodes you must install a pod network. I chose to install Flannel but there are other options available. Make sure that CNI is installed and the directories /opt/cni and /etc/cni/ exist.

To install Flannel, run the following command:

  kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

After the image has been deployed, the kubedns “ContainerCreating” status should be resolved. You should have the following listing:

  default       kube-flannel-ds-dhqh7                   2/2       Running   0          19h
  kube-system   dummy-2088944543-r1sgp                  1/1       Running   0          19h
  kube-system   etcd-fooxert-prd                        1/1       Running   0          19h
  kube-system   kube-apiserver-fooxert-prd              1/1       Running   0          19h
  kube-system   kube-controller-manager-fooxert-prd     1/1       Running   0          19h
  kube-system   kube-discovery-1769846148-5xt3v         1/1       Running   0          19h
  kube-system   kube-dns-2924299975-31vzt               4/4       Running   0          19h
  kube-system   kube-proxy-ndgfh                        1/1       Running   0          19h
  kube-system   kube-scheduler-fooxert-prd              1/1       Running   0          19h

Adding Child Nodes

To add child nodes to your cluster, run the join command that was output by the kubeadm init command.

  kubeadm join --token <token> <master-ip>

If you get any preflight check failures, check that the Kubernetes tools and docker were installed correctly. In my case, I was using Ubuntu 15.10 and docker-engine was not installed correctly, even though I followed the installation instructions.