第 37 章 替换失败的 etcd 成员
如果一些 etcd 成员失败,但您仍有 etcd 成员的仲裁,您可以使用剩余的 etcd 成员以及添加更多 etcd 成员的数据,而无需 etcd 或集群停机。
37.1. 删除失败的 etcd 节点
在添加新 etcd 节点前,请删除失败的节点。
流程
在活跃的 etcd 主机中删除失败的 etcd 节点:
# etcdctl -C https://<surviving host IP>:2379 \ --ca-file=/etc/etcd/ca.crt \ --cert-file=/etc/etcd/peer.crt \ --key-file=/etc/etcd/peer.key cluster-health # etcdctl -C https://<surviving host IP>:2379 \ --ca-file=/etc/etcd/ca.crt \ --cert-file=/etc/etcd/peer.crt \ --key-file=/etc/etcd/peer.key member remove <failed member identifier>
通过删除 etcd pod 定义来停止失败的 etcd 成员中的 etcd 服务:
# mkdir -p /etc/origin/node/pods-stopped # mv /etc/origin/node/pods/* /etc/origin/node/pods-stopped/
删除
etcd
目录的内容:重要建议在删除内容前将此目录备份到非集群的位置。您可以在成功恢复后删除此备份。
# rm -rf /var/lib/etcd/*