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