Kubernetes : Add Nodes2023/07/28 |
Add new Nodes to existing Kubernetes Cluster. This example is based on the environment like follows and add a new Node [snode03.srv.world] to it. -----------+---------------------------+--------------------------+------------ | | | eth0|10.0.0.25 eth0|10.0.0.71 eth0|10.0.0.72 +----------+-----------+ +-----------+-----------+ +-----------+-----------+ | [ ctrl.srv.world ] | | [snode01.srv.world] | | [snode02.srv.world] | | Control Plane | | Worker Node | | Worker Node | +----------------------+ +-----------------------+ +-----------------------+ |
[1] |
On a new Node, Configure common settings to join in Cluster, refer to here.
|
[2] | Confirm join command on Control Plane Node. |
root@ctrl:~# kubeadm token create --print-join-command kubeadm join 10.0.0.25:6443 --token t1wink.nno4l3kni8q2w5u8 --discovery-token-ca-cert-hash sha256:1b96782423120e014e212197d34c56b029af1a8db85bf40a6602e19881bc7db1 |
[3] | Run join command on a new Node. |
root@snode03:~# kubeadm join 10.0.0.25:6443 --token t1wink.nno4l3kni8q2w5u8 \ --discovery-token-ca-cert-hash sha256:1b96782423120e014e212197d34c56b029af1a8db85bf40a6602e19881bc7db1 [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-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. |
[4] | Verify settings on Control Plane Node. That's OK if the status of new Node turns to [STATUS = Ready]. |
root@ctrl:~# kubectl get nodes NAME STATUS ROLES AGE VERSION ctrl.srv.world Ready control-plane 5h44m v1.26.6 snode01.srv.world Ready <none> 51m v1.26.6 snode02.srv.world Ready <none> 50m v1.26.6 snode03.srv.world Ready <none> 76s v1.26.6root@ctrl:~# kubectl get pods -A -o wide | grep snode03 kube-system calico-node-b9xkk 1/1 Running 0 107s 10.0.0.73 snode03.srv.world <none> <none> kube-system kube-proxy-86p6p 1/1 Running 0 107s 10.0.0.73 snode03.srv.world <none> <none> |
Sponsored Link |