停电后的k8s集群恢复
妈呀机房停电了,怎么办,老老实实恢复k8s服务吧,但愿你的etcd服务是单独部署的,但愿你的etcd数据没有损坏,但愿虽然损坏了但好在有备份,否则,你懂得,哈哈哈,等着重装吧
·
1. k8s集群无法启动:
可以按照以下思路排查:
1.1 首先检查etcd服务:
systemctl status etcd
检查服务状态是否正常;
如果不正常,检查运行日志
journalctl -exf|grep etcd
按照运行日志的报错决定下一步的操作;
或者尝试直接重启etcd服务:
systemctl restart etcd
检查是否能恢复正常;
如果还不行,就再尝试以etcd数据备份恢复etcd服务:
/usr/local/etcd/etcdctl snapshot restore /etcdbackup/snapshot-20220713-010001.db --endpoints=127.0.0.1:2379
其中 .db 文件就是备份文件,可以由近及远尝试不同日期的备份。然后尝试启动etcd服务
systemctl restart etcd
1.2 然后重启kubelet 服务:
systemctl restart kubelet
1.3 清空etcd数据,重装k8s
如果以上操作无效,最后的终极方法,也是最耗时的方法,就是删除etcd数据目录、删除卸载kubelet后,重新安装k8s:
①删除etcd数据目录:
rm -rf /usr/local/etcd/default.etcd && systemctl restart etcd
②卸载k8s:
kubeadm reset
iptables -F && iptables -t nat -F && iptables -t mangle -F && iptables -X
systemctl stop kubelet
systemctl stop docker
rm -rf /var/lib/cni/*
rm -rf /var/lib/kubelet/*
rm -rf /etc/kubernetes/
rm -rf $HOME/.kube
rm -rf /etc/cni/*
ifconfig cni0 down
ifconfig flannel.1 down
ifconfig docker0 down
ip link delete cni0
ip link delete flannel.1
systemctl start docker
③重新安装k8s(含Calico网络、NFS存储、Dashboard)
写的累了,放到另外一篇文章了,哈哈~
更多推荐
已为社区贡献2条内容
所有评论(0)