top of page
Search

Kubernetes Installation on Rhel/Centos8

Updated: Apr 22



ree

Kubernetes Cluster Installation:


Step1: Update hostname


#sudo hostnamectl set-hostname master-node # Change as needed per node


Update (/etc/hosts) on all nodes:


192.168.1.202 master-node

192.168.1.203 worker-node1

192.168.1.204 worker-node2


Step2: Stop firewall


#systemctl stop firewalld

#systemcttl disable firewalld


Step3: Stop swap


#sudo swapoff -a

#sudo sed -i '/swap/d' /etc/fstab


Step4: Disable selinux


#sudo setenforce 0

#sudo sed -i 's/^SELINUX=enforcing/SELINUX=disabled/'/etc/selinux/config


Then Reboot the server


after reboot check the selinux status its disable or not



Step5: Configure Kernel Modules and sysctl


cat <<EOF | sudo tee /etc/modules-load.d/k8s.conf

overlay

br_netfilter

EOF


sudo modprobe overlay

sudo modprobe br_netfilter


cat <<EOF | sudo tee /etc/sysctl.d/k8s.conf

net.bridge.bridge-nf-call-ip6tables = 1

net.bridge.bridge-nf-call-iptables = 1

net.ipv4.ip_forward = 1

EOF


sudo sysctl --system


step6: Install and Configure Container Runtime (containerd)


sudo dnf install -y containerd

sudo mkdir -p /etc/containerd

containerd config default | sudo tee /etc/containerd/config.toml


Change cgroup driver to systemd:


sudo sed -i 's/SystemdCgroup = false/SystemdCgroup = true/' /etc/containerd/config.toml


sudo systemctl restart containerd

sudo systemctl enable containerd


Step7:Now Installation kubernetes


Create a kubernetes repo


#vi /etc/yum.repos.d/kubernetes.repo


[kubernetes]

name=Kubernetes

enabled=1

gpgcheck=1

exclude=kubelet kubeadm kubectl


#dnf update -y


Now installa kubernetes packages


dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes


Now start the service


sudo dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

sudo systemctl enable --now kubelet


Initialize Kubernetes Cluster (Master Only)

sudo kubeadm init --pod-network-cidr=192.168.0.0/16


Set up kubectl access:


mkdir -p $HOME/.kube

sudo cp -i /etc/kubernetes/admin.conf $HOME/.kube/config

sudo chown $(id -u):$(id -g) $HOME/.kube/config


Install Calico CNI (or another CNI)



kubectl create -f custom-resources.yaml


Join Worker Nodes

Run the command copied from the kubeadm init output:


sudo kubeadm join 192.168.56.10:6443 --token abcdef.0123456789abcdef \

--discovery-token-ca-cert-hash sha256:xxxxxxxxxxxxxxxxxxxxxxxxxxxx

Verify Cluster Status:


kubectl get nodes

kubectl get pods -A

 





Troubleshoot:


sudo kubeadm reset -f

sudo rm -rf /etc/cni /var/lib/cni /var/lib/kubelet /etc/kubernetes /var/lib/etcd

sudo systemctl restart containerd







$ kubeadm token create --print-join-command

 
 
 

4 Comments

Rated 0 out of 5 stars.
No ratings yet

Add a rating
Guest
Jul 18
Rated 5 out of 5 stars.

Very helpful


Like

roopa
Apr 23
Rated 5 out of 5 stars.

Thanks for steps very useful

Like

Guest
Apr 22
Rated 5 out of 5 stars.

👍

Like

Guest
Apr 22
Rated 5 out of 5 stars.

Great work


Like
bottom of page