当master丢失一个节点后,如何恢复
故障现象
在日常维护中,如果三台 master 节点的其中一个节点故障,并不可恢复,我们如何重新建建立一个 master 节点并重新加入进去呢?
假设曾经有三个节点
- master-1.tj-test
- master-2.tj-test
- master-3.tj-test
其中一个节点丢失后,想要新建一个节点并重新加入集群,但是失败了
故障排查
当 master-3 挂掉并不可恢复时,首先需要通过 kubectl delete node master-3.tj-test 命令来删除该节点。然后使用一台新的设备初始化环境,并通过 kubeadm join 命令来加入集群,但是这时候,加入集群是失败的。
因为虽然使用命令删除了 master-3 节点,但是 etcd 集群的 master-3 这个 member 还存在
~]# etcdv3 member list
13b7460f0eebe6ea, started, master-1.tj-test, https://172.38.40.212:2380, https://172.38.40.212:2379
fdddf32d7b4d4498, started, master-3.tj-test, https://172.38.40.214:2380, https://172.38.40.214:2379
fed9f57af62ba6a0, started, master-2.tj-test, https://172.38.40.213:2380, https://172.38.40.213:2379
故障处理
这时候需要通过 etcdctl 命令 etcdv3 member remove fdddf32d7b4d4498
将该 member 移除,再重新让 master-3 加入集群,就可以了。
反馈
此页是否对你有帮助?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.