旧的master上执行:
# kubeadm token create --print-join-command
kubeadm join 192.168.96.233:6443 --token 3em4f7.q4qnt5qh4dlmyltu --discovery-token-ca-cert-hash sha256:20d1eef2680
9b06abf3804cd4bd5c3630ca70c6e2759d3e23eb7acdad0e1b93b
# kubeadm init phase upload-certs --upload-certs
I0516 05:27:46.573100 35185 version.go:251] remote version is much newer: v1.24.0; falling back to: stable-1.20
[upload-certs] Storing the certificates in Secret "kubeadm-certs" in the "kube-system" Namespace
[upload-certs] Using certificate key:
8d0917dfd5b06f46a7d1c2708323589cc5887140d87e9aca1479b04874938d0b
新master节点上执行:
kubeadm join 192.168.96.233:6443 ---token 3em4f7.q4qnt5qh4dlmyltu --discovery-token-ca-cert-hash sha256:20d1eef2680
9b06abf3804cd4bd5c3630ca70c6e2759d3e23eb7acdad0e1b93b --control-plane --certificate-key 8d0917dfd5b06f46a7d1c2708323589cc5887140d87e9aca1479b04874938d0b
# 如果报错如下:
unable to add a new control plane instance to a cluster that doesn’t have a stable controlPlaneEndpoint address
# 解决办法:
kubectl -n kube-system edit cm kubeadm-config
并添加下图部分,注意ip地址为旧的master ip及端口
检查
[root@master ~]# kubectl get node
NAME STATUS ROLES AGE VERSION
master Ready control-plane,master 69m v1.20.2
master2 Ready control-plane,master 24m v1.20.2
node-1 Ready <none> 61m v1.20.2
node-2 Ready <none> 61m v1.20.2
Comments | NOTHING