ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

K8s Etcd 备份恢复|为什么恢复集群不停业务 Pod?

K8s Etcd 备份恢复|为什么恢复集群不停业务 Pod? K8s Etcd 备份恢复超详细解析为什么恢复集群不停业务 Pod前言Etcd 是 K8s 的数据库所有集群资源存在这里。很多人搞不懂 恢复 etcd 要停 apiserver、停 etcd为什么正在运行的业务 Pod 不会挂1、两条完全独立的运行链路控制平面大脑etcd apiserver controller scheduler 负责存状态、调度、增删改查资源数据平面手脚每台节点的 kubelet containerd 负责真正跑容器、维持 Pod 运行2、核心真相Pod 启动后由 kubelet 容器运行时托管不再依赖 apiserver/etcd 实时存活所以停 apiserver、停 etcd → 集群管理失效已运行的业务 Pod 继续正常对外提供服务3、官方标准恢复三步停止 apiserver移走 manifests离线恢复 etcd 快照重启控制平面4、etcdctl vs etcdutl 终极区别必考etcdctl在线工具→ 备份用需要端点、证书、API3etcdutl离线工具新版 3.5→ 恢复用无需证书、无需端点3.4 版本无 etcdutl只能用 etcdctl 恢复。5、完整可直接用恢复脚本适配 3.4 环境# 1. 暂停控制平面 mv /etc/kubernetes/manifests /etc/kubernetes/manifests.bak # 2. 备份旧数据 mv /var/lib/etcd /var/lib/etcd.bak # 3. 恢复快照 ETCDCTL_API3 etcdctl \ --data-dir /var/lib/etcd \ snapshot restore /srv/etcd-snapshot.db # 4. 恢复控制平面 mv /etc/kubernetes/manifests.bak /etc/kubernetes/manifests
RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进