[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-
sudo dnf install -y https://www.elrepo.org/elrepo-
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