Etcd挂 恢复集群
现象:
K8S有3台master节点其中有2台挂掉 现在要恢复集群

将 10.20.201.40 10.20.201.41服务器关闭 从而模拟出节点挂掉2台
现在K8S集群已经无法使用了 命令都没用

解决:
1、选择正常master节点,确定etcd容器已经停止
docker ps -a | grep etcd

2、备份etcd文件
cd /etc/kubernetes/ && mkdir backup && cp manifests/etcd.yaml backup/
3. 备份etcd数据目录
cd /etc/kubernetes/backup tar cvfz etcd.tar.gz /var/lib/etcd/
4. 修改etcd参数
cd /etc/kubernetes/manifests && vim etcd.yaml
添加参数 - --force-new-cluster
强制创建一个新的单成员集群。它提交配置更改,强制删除集群中的所有现有成员并添加自己,但在正常情况下强烈建议不要这样做

4.1 如果服务etcd apiserver容器还没起来的话
mv /etc/kubernetes/manifests/etcd.yaml /home
以下容器会自动删除的掉 如果没有删除请重启kubelet 删除以下容器

4.2 将/home/etcd 还原到/etc/kubernetes/manifests/etcd.yaml 目录即可
5、观察etcd容器 以及K8S状态

6、将刚才添加的参数删除 继续观察etcd状态

7、将两台master 剔除集群即可
sealer delete --masters 10.20.201.40
sealer delete --masters 10.20.201.41
8、将有问题两台服务器重装系统之后 再次加入集群
sealer join --masters 10.20.201.40
sealer join --masters 10.20.201.41
本文来自博客园,作者:小星奕的快乐,转载请注明原文链接:https://www.cnblogs.com/superzed/articles/16868762.html

浙公网安备 33010602011771号