In case you prefer a video, check below our YouTube video for this lab
Open Play with Kubernetes
login with your docker hub account.
Enter below command in first node terminal
This node will be master for this cluster
kubeadm init --apiserver-advertise-address $(hostname -i) --pod-network-cidr 10.5.0.0/16
use kudeadm to initialize Kubernetes cluster
–apiserver-advertise-address is to advertise api server address
–pod-network-cidr is to provide subnet used for pod network
this command will pull container images required for Kubernetes cluster and may take sometime
you may load image proactively by using kubeadm config images pull
you may also select specific version with –kubernetes-version
take note of output similar to below, it will be required for other nodes to join cluster
kubeadm join XXXXXXX — token XXXXXX — discovery-token-ca-cert-hash sha256:XXXXXXXXX
Enter below command in master node terminal
kubectl get nodes
use above command to display nodes in k8s cluster there will be only master node with status NotReady
node is NotReady as there is no networking add-on
CNI stand for Container Network Interface,
It is a Cloud Native Computing Foundation project, consists of a specification and libraries for writing plugins to configure network interfaces in Linux containers, along with a number of plugins.
Kubernetes uses CNI as an interface between network providers and Kubernetes pod networking
Enter below command in master node terminal
kubectl apply -f https://raw.githubusercontent.com/cloudnativelabs/kube-router/master/daemonset/kubeadm-kuberouter.yaml
this command will get yaml file from github
install network add-on to cluster
We will discuss CNI in future labs
Enter below command in master node terminal
kubectl get nodes
node will be in ready state after few minutes
Enter kubeadm join command in new node terminal on Second node
kubeadm join XXXXXXX — token XXXXXX — discovery-token-ca-cert-hash sha256:XXXXXXXXX
above command will join new node to cluster
this command will be different for you
you will get this from step 5
Enter below command in master node terminal
kubectl get nodes
one master and second with none role
second node might be NotReady at first
it could take few minutes to get Ready
Enter kubeadm join command in new node terminal
kubeadm join XXXXXXX — token XXXXXX — discovery-token-ca-cert-hash sha256:XXXXXXXXX
copy above command will join new node to cluster
this command will be different for you
you will get this from step 5
Enter below command in master node terminal
kubectl get nodes
you will see three nodes
one master two with none role
third node might be NotReady at first
it could take few minutes to get Ready
Delete all open nodes/instances and close session