停电后的k8s集群恢复

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)
写的累了,放到另外一篇文章了,哈哈~

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值