Skip to main content

CentOS Stream 10: Install Kubeadm

Install kubeadm, kubelet, and CRI-O container runtime on Kubernetes cluster nodes on CentOS Stream 10.

May 24, 2026 4 min read
centoscentos-stream-10kubernetesk8scluster

Configure Multi Nodes Kubernetes Cluster.

This example is based on the environment like follows.

For System requirements, each Node has unique Hostname, MAC address, Product_uuid. MAC address and Product_uuid are generally already unique one if you installed OS on physical machine or virtual machine with common procedure. You can see Product_uuid with the command dmidecode -s system-uuid.

+----------------------+   +----------------------+
|  [ ctrl.srv.world ]  |   |   [ dlp.srv.world ]  |
|     Manager Node     |   |     Control Plane    |
+-----------+----------+   +-----------+----------+
        eth0|10.0.0.25             eth0|10.0.0.30
            |                          |
------------+--------------------------+-----------
            |                          |
        eth0|10.0.0.51             eth0|10.0.0.52
+-----------+----------+   +-----------+----------+
| [ node01.srv.world ] |   | [ node02.srv.world ] |
|     Worker Node#1    |   |     Worker Node#2    |
+----------------------+   +----------------------+

System Requirements

On all Kubernetes Cluster Nodes except Manager Node, change settings for System requirements.

Configure sysctl parameters:

cat > /etc/sysctl.d/99-k8s-cri.conf <<EOF
net.bridge.bridge-nf-call-iptables=1
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-ip6tables=1
EOF

sysctl --system

Disable firewalld:

systemctl disable --now firewalld

Disable Swap:

swapoff -a

Comment out the Swap line in /etc/fstab:

#UUID=eb7c7852-4114-4c8d-8eef-b176c28b5501 none swap defaults 0 0

Install Required Packages

On all Kubernetes Cluster Nodes except Manager Node, install required packages. This example shows to use CRI-O for container runtime.

Install CRI-O:

dnf -y install https://mirror.stream.centos.org/SIGs/10-stream/cloud/x86_64/okd-4.19/Packages/c/cri-o-1.32.4-1.el10s.x86_64.rpm

systemctl enable --now crio

Add Kubernetes repository and install kubeadm, kubelet:

cat <<'EOF' > /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/
enabled=0
gpgcheck=1
gpgkey=https://pkgs.k8s.io/core:/stable:/v1.32/rpm/repodata/repomd.xml.key
EOF

dnf --enablerepo=kubernetes -y install kubeadm kubelet cri-tools iproute-tc container-selinux

systemctl enable kubelet