在一个集群中有些节点,会莫名出现一些故障,导致在master节点中显示notready状态,一般根据日志信息进行troubleshooting即可,但是有些时候,就是无法恢复,我们就得将原有故障节点删除,重新加入集群当中。其步骤如下:
一.删除原有node节点(master节点上执行)
- 将有问题节点标记为不可调度
kubectl cordon <node-name>
- 驱逐问题节点上的pod
kubectl drain node2 --ignore-daemonsets
- 删除nod节点
kubectl delete nodes <node-name>
二、生成token口令(master上执行)
kubeadm token create --print-join-command
三、node节点加入集群
- 删除/etc/kubernets/文件下的全部内容
rm -rf /etc/kubernets/*
- 添加至集群(步骤二中master生成的token口令)
kubeadm join masterIP:6443 --token kv5yf7.op39esc0aitwkhmr --discovery-token-ca-cert-hash sha256:5358bac278872da4d29a9828dba65edbbada368a59cdfa17fda084fc0b397d45
四、检验(master节点)
获取node节点信息,看新节点是否加入集群
kubectl get nodes
成功看到新节点处于ready状态即为成功!