因为修改了node节点的主机名,所以删除node节点重新加入集群
kubectl delete node agent
systemctl restart kubelet
在Master节点上执行以下命令来生成一个用于节点加入集群所需的token:
kubeadm token create
接下来,您需要获取Master节点的CA证书哈希值。在Master节点上执行以下命令:
openssl x509 -pubkey -in /etc/kubernetes/pki/ca.crt | openssl rsa -pubin -outform der | openssl dgst -sha256 -hex | sed 's/^.* //'
这将生成一个用于验证token的CA证书哈希值。确保在节点加入集群时使用正确的哈希值。
然后,在Node节点上
首先,您需要检查kubelet服务是否正在运行:
systemctl status kubelet
systemctl stop kubelet
重置Node节点
由于Node节点之前可能加入过集群,或者手动配置了Kubernetes组件,您需要重置Node节点以清理旧的数据和配置。在Node节点上执行以下命令:
kubeadm reset
执行kubeadm join
命令,使用之前生成的token和Master节点的IP地址以及CA证书哈希值。例如:
kubeadm join <Master-IP>:<Master-Port> --token <token> --discovery-token-ca-cert-hash sha256:<hash>
例如我的是
kubeadm join 192.168.197.132:6443 --token l4a3v2.l6br9e1gmjuv0c8n --discovery-token-ca-cert-hash sha256:c761c99b9607b66e5dcbcf7bfc78d8070e22b2011fa9c9d1cbf96cf7e096557e