Saturday, July 18, 2026

Kubernetes

 

[root@192 ~]# nmtui

[root@192 ~]# ip a

 inet 192.168.184.128/24 brd 192.168.184.255 scope global dynamic noprefixroute ens160

[root@192 ~]# vi /etc/hostname

[root@192 ~]# getenforce

Enforcing

[root@192 ~]# setenforce 0

[root@192 ~]# getenforce

Permissive

[root@192 ~]# vi /etc/selinux/config

[root@192 ~]# vi /etc/fstab

[root@192 ~]# swapoff -a

[root@192 ~]# free -mh

              total        used        free      shared  buff/cache   available

Mem:          1.7Gi       297Mi       1.2Gi       8.0Mi       217Mi       1.3Gi

Swap:            0B          0B          0B

[root@192 ~]# vi /etc/hosts

[root@master01]# systemctl stop firewalld

[root@master01]# systemctl disable firewalld

Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.

Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.

 For Ip forwarding

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

net.ipv4.ip_forward = 1

EOF

[root@192 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

[root@192 ~]# rpm --import https://www.elrepo.org/RPM-GPG-KEY-v2-elrepo.org

[root@192 ~]# dnf install https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

[root@192 ~]# dnf --enablerepo=elrepo-kernel --refresh install kernel-ml 

[root@192 ~]# grubby --update-kernel=ALL --args="systemd.unified_cgroup_hierarchy=1"

Then reboot the system

[root@master01 ~]# dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

[root@master01 ~]# dnf install -y yum-utils device-mapper-persistent-data lvm2

[root@master01 ~]# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo

[root@master01 ~]# dnf install -y containerd.io

Problem

Solution due to docker so remove podman

To remove Podman

sudo dnf remove podman

sudo rm -rf /var/lib/containers ~/.local/share/containers

sudo dnf autoremove                 

podman –version       

[root@master01 ~]# mkdir -p /etc/containerd

[root@master01 ~]# cd /etc/containerd/

[root@master01 containerd]# ls

config.toml

[root@master01 containerd]# containerd config default | sudo tee /etc/containerd/config.toml

[root@master01 containerd]# vi config.toml

inside [plugins."io.containerd.grpc.v1.cri".containerd.runtimes.runc.options]

 SystemdCgroup = true

Change SystemCgroup=false to true

[root@master01 containerd]#  systemctl enable --now containerd

Created symlink /etc/systemd/system/multi-user.target.wants/containerd.service → /usr/lib/systemd/system/containerd.service.

Now install kubelet, kubectl and kubeadm 

# Add new repo file

cat <<EOF | sudo tee /etc/yum.repos.d/kubernetes.repo

[kubernetes]

name=Kubernetes

baseurl=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/

enabled=1

gpgcheck=1

gpgkey=https://pkgs.k8s.io/core:/stable:/v1.33/rpm/repodata/repomd.xml.key

exclude=kubelet kubeadm kubectl cri-tools kubernetes-cni

EOF

 [root@master01 containerd]# dnf update

[root@master01 containerd]# dnf install -y kubelet kubeadm kubectl --disableexcludes=kubernetes

[root@master01 containerd]# systemctl enable --now kubelet

[root@master01 containerd]# kubeadm init

kubeadm join 192.168.184.128:6443 --token rac5qt.23ldhq5cdzk1e3ez \

        --discovery-token-ca-cert-hash sha256:18e6d53c30bded5ac267ec003ba3e02228d7f52be5af49dcd5fa3cc370707671

[root@master01 containerd]#  cp /etc/kubernetes/admin.conf $HOME/.kube/config

[root@master01 containerd]# chown $(id -u):$(id -g) $HOME/.kube/config

 

Problem 2: Kernel version must be above 5

Solution:

sudo rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

sudo dnf install -y https://www.elrepo.org/elrepo-release-8.el8.elrepo.noarch.rpm

sudo dnf --enablerepo=elrepo-kernel install kernel-ml -y


sudo grub2-set-default 0

sudo grub2-mkconfig -o /boot/grub2/grub.cfg

[root@master01]# uname -r       --> to check kernel

7.1.5-1.el8.elrepo.x86_64

 

Problem 3: To check subscription-manager

# subscription-manager status

# subscription-manager register --username <Username> --password  <Password> 

problem 4 Forget token

[root@master01 ~]# kubeadm token list
 

 

 

 

In workers

[root@worker01 ~]# kubeadm join 192.168.184.128:6443 --token gxl024.sqamy7a5d3jqt21s --discovery-token-ca-cert-hash sha256:18e6d53c30bded5ac267ec003ba3e02228d7f52be5af49dcd5fa3cc370707671
[preflight] Running pre-flight checks
        [WARNING Service-Kubelet]: kubelet service is not enabled, please run 'systemctl enable kubelet.service'
[preflight] Reading configuration from the "kubeadm-config" ConfigMap in namespace "kube-system"...
[preflight] Use 'kubeadm init phase upload-config --config your-config-file' to re-upload it.
W0731 05:52:20.445646   68233 utils.go:69] The recommended value for "bindAddress" in "KubeProxyConfiguration" is: ::; the provided value is: 0.0.0.0
[kubelet-start] Writing kubelet configuration to file "/var/lib/kubelet/config.yaml"
[kubelet-start] Writing kubelet environment file with flags to file "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] Starting the kubelet
[kubelet-check] Waiting for a healthy kubelet at http://127.0.0.1:10248/healthz. This can take up to 4m0s
[kubelet-check] The kubelet is healthy after 502.059034ms
[kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap

This node has joined the cluster:
* Certificate signing request was sent to apiserver and a response was received.
* The Kubelet was informed of the new secure connection details.

Run 'kubectl get nodes' on the control-plane to see this node join the cluster.



 [root@master01 ~]# kubectl get nodes