CentOS Stream 10
Sponsored Link

Kubernetes : Configure Worker Node2025/01/22

 

Configure Multi Nodes Kubernetes Cluster.

This example is based on the environment like follows.

+----------------------+   +----------------------+
|  [ 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    |
+----------------------+   +----------------------+

[1]

Configure pre-requirements on all Nodes, refer to here.

[2] Join in Kubernetes Cluster which is initialized on Control Plane Node.
The command for joining is just the one [kubeadm join ***] which was shown on the bottom of the results on initial setup of Cluster.
# if Firewalld is running, allow services

[root@node01 ~]#
firewall-cmd --add-service={kube-nodeport-services,kubelet,kubelet-readonly}

success
[root@node01 ~]#
firewall-cmd --add-port={179/tcp,4789/udp}

success
[root@node01 ~]#
firewall-cmd --add-masquerade

success
[root@node01 ~]#
firewall-cmd --runtime-to-permanent

success
[root@node01 ~]#
kubeadm join 10.0.0.25:6443 --token 6ccfpo.ycmm831uit8qfxcr \
--discovery-token-ca-cert-hash sha256:17b33be257174fc86fa06066a5ebdbdb84d9b397f86d893a54d328ac3a1a44dd

[preflight] Running pre-flight checks
[preflight] Reading configuration from the cluster...
[preflight] FYI: You can look at this config file with 'kubectl -n kube-system get cm kubeadm-config -o yaml'
[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 501.126429ms
[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.
# OK if [This node has joined the cluster]

[3] Verify Status on Manager Node or Client Hosts you did setup cluster admin file. That's Ok if all STATUS are Ready.
[root@ctrl ~]#
kubectl get nodes

NAME               STATUS   ROLES           AGE     VERSION
dlp.srv.world      Ready    control-plane   6m25s   v1.31.5
node01.srv.world   Ready    <none>          88s     v1.31.5
node02.srv.world   Ready    <none>          33s     v1.31.5
Matched Content