image

In this lab we will practice building kubenretes cluster with single master

Create docker hub account. Docker Hub skip this step if you already have one

image

Open Play with Kubernetes

image

login with your docker hub account.

image

Click on start

image

It will start a 4 hr session

image

click on + ADD NEW INSTANCE

image

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

image

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

image

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

image

Enter below command in master node terminal

kubectl get nodes

node will be in ready state after few minutes

image

click on + ADD NEW INSTANCE

image

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

image

Enter below command in master node terminal

kubectl get nodes

image

you will see two nodes

one master and second with none role

second node might be NotReady at first

it could take few minutes to get Ready

click on + ADD NEW INSTANCE

image

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

image

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

image

Delete all three nodes and close session

  1. click on first node and then DELETE
  2. Repeat same for second and third node
  3. click close session

image

Congratulations you have completed this lab

Let us know if you still have any question
Youtube video for this lab