模拟K8s节点服务故障,尝试使用etcd备份还原指南🔥

9/13/2024 kubernetes运维&&部署

# K8s服务部署

由于公司内部使用K8s与maven私服在同一个网段下,默认是在K8s的安全组内,本次搭建环境为本机自建单master、3个worker节点K8s服务,节点配置与公司目前一致。但是访问ip是192.168.65.10。不在同一个网段下,需要额外配置多余全局认证或者创建 Docker Secret过于繁琐,所以本地服务的验证为使用nacos服务运行为例进行模拟演示。

# 配置搭建nacos服务

在这里插入图片描述 在这里插入图片描述 在这里插入图片描述 服务运行正常,接下来进行访问查看 在这里插入图片描述 访问也没有问题 在这里插入图片描述

# 模拟节点负载故障

直接删除K8s自带的etcd服务节点信息的部分配置文件 在这里插入图片描述

在这里插入图片描述 删除之后服务已经出现故障 在这里插入图片描述 集群进行无法进入 在这里插入图片描述

# 使用备份文件恢复集群信息

# 删除etcd服务节点信息的全部文件

在这里插入图片描述 在这里插入图片描述

# 执行备份命令

etcdctl snapshot restore etcd-snapshot.db --data-dir=/var/lib/etcd

在这里插入图片描述

# 查看一下etcd服务状态,如果没有自动重启手动重启服务

 sudo crictl ps -a | grep etcd
 sudo crictl start 072dd2e139a88

在这里插入图片描述

# 查看集群状态

刷新Kuboard面板之后集群服务已经恢复 在这里插入图片描述 但是这里需要注意一下的是,由于etcd只是备份服务的集群信息,pod的配置信息,但是pod的状态等信息不存在。这块就是不赘述pod部署过程直接展示结果。

# nacos服务重新部署结果展示

在这里插入图片描述 在这里插入图片描述

    我很快乐-周兴哲
    致逝去的青春