k8s集群异常恢复

前提、我自己的k8s采用的是单master节点+两个从节点部署,我针对单master情况进行恢复说明

场景一:正常开关虚拟机,可直接重启kubelet进行恢复

1、1、一般重启后三个节点都需要检查,输入命令检查kubelet:

systemctl status kubelet

在这里插入图片描述
2、状态不正常,输入命令启动kubelet:

systemctl restart kubelet

3、正常情况下,启动kubelet后,节点一般都会正常,除非etcd异常

4、输入查看命令:kubectl get pod -A,如果不能正常回显则说明异常

5、再次尝试手动恢复(虚拟机正常开关机情况下,重启能解决95以上的异常问题,如果不能正常,再重启一次),重启kubelet,输入命令:

systemctl restart kubelet

场景二:一般服务器直接断电或者异常,都很大机率造成etcd异常。所以一般都需要提前对etcd文件备份才行,备份命令

mkdir -p  /root/etcd/backup
#不知道路径可以查找etcd数据目录
find / -type d -name member
cd /root/etcd/backup
rm -rf *
echo "备份etcd"
cp -R -c /var/lib/etcd/member/* ./

恢复命令:

cd /var/lib/etcd/member
rm -rf *
cp -R -c /root/etcd/backup/* ./
systemctl restart kubelet
systemctl status kubelet
#查看pod状态,等待几分钟
kubectl get pod -A

后续:定位etcd异常方法
可以用命令

netstat -anp | grep 2379

在这里插入图片描述

如果有回显该端口提供了服务,则说明正常
另外的方法就是查看kube-apiserver服务的docker日志,查看命令:

docker ps -a | grep kube-apiserver

命令执行后再查看其日志:

docker logs --tail 500 -f 容器id

如果回显存在2379端口连接不上,则说明etcd出问题了

相关推荐

  1. K8SEtcd数据备份/恢复

    2024-01-23 09:48:01       9 阅读
  2. K8S

    2024-01-23 09:48:01       31 阅读
  3. K8s 高可用master节点ETCD挂掉如何恢复?

    2024-01-23 09:48:01       23 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-01-23 09:48:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-01-23 09:48:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-01-23 09:48:01       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-01-23 09:48:01       20 阅读

热门阅读

  1. VirtualBox的Centos上安装GNOME桌面完整教程

    2024-01-23 09:48:01       39 阅读
  2. RK3568 Ubuntu关于rootfs大小问题

    2024-01-23 09:48:01       30 阅读
  3. 单例模式分享

    2024-01-23 09:48:01       31 阅读
  4. 在C#中调用C++函数并返回const char*类型的值

    2024-01-23 09:48:01       34 阅读
  5. 跳脱低迷,华为、苹果、荣耀OV小米激战2024

    2024-01-23 09:48:01       29 阅读