Install below packages on all of your machines:
- kubeadm: the command to bootstrap the cluster.
- kubelet: the component that runs on all of the machines in your cluster and does things like starting pods and containers.
- kubectl: the command line util to talk to your cluster.
Note : kubeadm will not install or manage kubelet or kubectl for you, so you will need to ensure they match the version of the Kubernetes control panel you want kubeadm to install for you.
If you do not, there is a risk of a version skew occurring that can lead to unexpected, buggy behavior.
However, one minor version skew between the kubelet and the control plane is supported, but the kubelet version may never exceed the API server version.
For example, kubelet running 1.7.0 should be fully compatible with a 1.8.0 API server, but not vice versa.
Below is the example for installing in Debian/Ubuntu flavours:
# apt-get update && apt-get install -y apt-transport-https curl
# curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
# apt-get update
# apt-get install -y kubelet kubeadm kubectl
# apt-mark hold kubelet kubeadm kubectl