Step1: On Master Node Only
## Install Docker
sudo wget
https://raw.githubusercontent.com/lerndevops/labs/master/scripts/installDocker.sh -
P /tmp
sudo chmod 755 /tmp/installDocker.sh
sudo bash /tmp/installDocker.sh
sudo systemctl restart docker.service
## Install CRI-Docker
sudo wget
https://raw.githubusercontent.com/lerndevops/labs/master/scripts/installCRIDockerd.sh
-P /tmp
sudo chmod 755 /tmp/installCRIDockerd.sh
sudo bash /tmp/installCRIDockerd.sh
sudo systemctl restart cri-docker.service
## Install kubernetes
sudo wget
https://raw.githubusercontent.com/lerndevops/labs/master/scripts/installK8S.sh -P
/tmp
sudo chmod 755 /tmp/installK8S.sh
sudo bash /tmp/installK8S.sh
# Validate (optional)
docker -v
cri-dockerd --version
kubeadm version -o short
kubelet --version
kubectl version --short --client
## Initialize kubernetes Master Node
sudo kubeadm init --cri-socket unix:///var/run/cri-dockerd.sock --ignore-
preflight-errors=all
sudo mkdir -p $HOME/.kube
sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
## install networking driver -- Weave/flannel/canal/calico etc...
## below installs calico networking driver
kubectl apply -f
https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/calico.yaml
# Validate: kubectl get nodes
Step2: On All Worker Nodes
## Install Docker
sudo wget
https://raw.githubusercontent.com/lerndevops/labs/master/scripts/installDocker.sh -
P /tmp
sudo chmod 755 /tmp/installDocker.sh
sudo bash /tmp/installDocker.sh
sudo systemctl restart docker.service
## Install CRI-Docker
sudo wget
https://raw.githubusercontent.com/lerndevops/labs/master/scripts/installCRIDockerd.sh
-P /tmp
sudo chmod 755 /tmp/installCRIDockerd.sh
sudo bash /tmp/installCRIDockerd.sh
sudo systemctl restart cri-docker.service
## Install kubeadm,kubelet,kubectl
sudo wget
https://raw.githubusercontent.com/lerndevops/labs/master/scripts/installK8S.sh -P
/tmp
sudo chmod 755 /tmp/installK8S.sh
sudo bash /tmp/installK8S.sh
sudo su
# Validate
11 docker -v
12 cri-dockerd --version
13 kubeadm version -o short
14 kubelet --version
15 kubectl version --short --client
## Run Below on Master Node to get join token
kubeadm token create --print-join-command
copy the kubeadm join token from master & ensure to add --cri-socket
unix:///var/run/cri-dockerd.sock as below & then run on worker nodes
Ex: kubeadm join 10.128.15.231:6443 --cri-socket unix:///var/run/cri-dockerd.sock
--token mks3y2.v03tyyru0gy12mbt \
--discovery-token-ca-cert-hash
sha256:3de23d42c7002be0893339fbe558ee75e14399e11f22e3f0b34351077b7c4b56
kubeadm join 172.31.95.79:6443 --cri-socket unix:///var/run/cri-dockerd.sock --token
4fkuth.jfdi1fd0beykzqt7 --discovery-token-ca-cert-hash
sha256:5161a22906df112afcb49a085bbff348cfac020fcc583d75e4a3e663e2f93936
kubeadm join 172.31.17.192:6443 --cri-socket unix:///var/run/cri-dockerd.sock--token
yk198i.jxrp4d8lbuiwj9zg --discovery-token-ca-cert-hash
sha256:0dc1118655e32f568f1e6593c81f6a46d2cc6320bd80d0d3afc48a387a798157