MULTI NODE CLUSTURE CREATION
-Going to create a multi node cluster.
-At first we create a VM Os Rhel8 cli and configure all the things which are need for a node in a cluster then we make three clone of this OS, one for master node and two for slave node.
-Slave node’s role is basically to provide resources.
-Kubelet is a program that act as interface between master and slave node.Master send rerequest to kublete and kubelet to slave and vice verca.
-Master node is an umbrella of services. There are different services that run under master node. So, master node also has kubelet program. So there is requirement of container engine because master node also has to launch POD. On which this service run.
-Program that run under master nodes are
1.KubeAPI Server through which client can connect to master node.
2.Kube controller to monitor all slaves node
3.Kube scheduler to properly distribute request to slave nodes.
4.Load balance with which there is equal distribution of client request to slaves node.
5.Etcd which act as dbserver and store details in key: value form
-So firstly we create a generalised OS which act as template fior
1.First we configure yum so that we can install all the necessary program.
2.Then we install docker by firstly configuring yum with docker.repo file.
3.Then we disable firewall which is not a good pracitce instead of that we have to make rules for firewall for connectivity.
4.Then we make permanent mounting of cdrom folder, so that whenever we start we get configured yum.
5.Then we install kubelet, kubeadm,kubectl.
6.Then we disable SELinux because it conflicts with K8S
7.Then we start docker and configure systemd driver in CGroup
8.Then we disable SWAP
9.Then we install iproute-tc which helps in linux traffic controller.
10.Then we start and enable kubelets.
11. Then we make three clones of this OS one for master node and two for slave nodes and give hostname to all clones and also configure local DNS so that we can connect thorugh hostname.
-Then we start the cluster in master node by kubeadm command and also we added a network overlay which helps in connectivity iin pods running in different slaves.
-We also got to know many new things about namespace, config map and kubernetes.