第 19 节 ETCD 备份与恢复
ETCD 是什么
ETCD 是 K8s 的核心数据库,集群所有数据,Pod、Service、密钥、权限全部存在这里,是集群唯一真实数据源。
1.ETCD 基础特点
- 属于分布式键值存储,只存 key‑value 键值对,没有复杂表格。
- 生产要用集群部署,节点数量建议奇数,防止单点故障。
- 依靠Raft 算法保证多台机器数据一致。
- Leader:集群唯一写数据的节点,挂掉就投票选出新 Leader。
- 日志复制:写数据先给 Leader,再同步给其他节点,超过半数节点确认才算写入成功。
- 法定人数 Quorum:必须过半节点确认,写操作才算成功。
- 强一致性:所有节点读到的数据都是最新,避免集群状态错乱。
- 高可用:大部分节点活着,集群就能正常工作。
- Watch 监听机制:给 K8s 组件实时推送集群状态变化。
2.ETCD 备份简单流程:
1.先装好etcd‑client工具。
2.使用etcdctl工具,给 etcd 做快照 snapshot。
3.生成快照文件,这个文件就保存了整个 K8s 集群全部数据,完成备份。
3.ETCD 恢复简单总结
- 拿到之前做好的快照备份文件。
- 停止当前正在运行的 etcd 服务。
- 使用etcdctl把快照数据还原,生成新的数据目录。
- 修改 etcd 配置,指向恢复出来的新数据目录。
- 启动 etcd 服务,校验集群数据,完成整个集群数据恢复。
小提示:恢复会覆盖现有全部集群数据,一般集群彻底损坏的时候才用。