模拟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
强制创建一个新的单成员集群。它提交配置更改,强制删除集群中的所有现有成员并添加自己,但在正常情况下强烈建议不要这样做
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