模拟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服务重新部署结果展示