Ports needed for kubernetes: Master node:
Worker nodes:
Install docker (M+S)
apt-get update && apt-get install -y docker.io
configure docker daemon (M+S)
cat << EOF > /etc/docker/daemon.json
{
"exec-opts": ["native.cgroupdriver=systemd"]
}
EOF
download key (M+S)
curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
add kubernetes apt key (M+S)
cat << EOF > /etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF
run apt-get update (M+S)
apt-get update
install kubernetes on master (M+S) (kubectl not needed on slaves nodes)
apt-get install -y kubelet kubeadm kubectl
kubeadm init --pod-network-cidr=10.244.0.0/16
Exit root, login as normal user and execute commands:
mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Run get pods command
kubectl get pods --all-namespaces
apply kube flannel
kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/v0.9.1/Documentation/kube-flannel.yml
Run get pods command again (M)
kubectl get pods --all-namespaces
A kube-flannel-ds-* should appear
Run join command from Master into Slave nodes (provided by master after kubeadm init
kubeadm join <IP>:<PORT> --token <TOKEN> --discovery-token-ca-cert-hash sha256:<SHA_CODE>