10.3 灾难恢复:Velero 备份还原实战与 Etcd 容灾指南
1. 引言:灾难恢复的重要性
在云原生环境中,灾难可能来自:
- 人为错误:误删关键资源、配置错误
- 硬件故障:节点宕机、磁盘损坏
- 软件故障:K8s 版本升级失败、Etcd 损坏
- 自然灾害:数据中心火灾、地震
灾难恢复(Disaster Recovery, DR)是保证业务连续性的最后一道防线。
2. Velero 简介
2.1 什么是 Velero?
Velero(原 Heptio Ark)是 CNCF 项目,专门用于 K8s 集群的备份和恢复。
核心能力:
- 备份:备份集群资源(Deployment、Service、ConfigMap 等)
- 恢复:从备份恢复资源
- 迁移:将应用从一个集群迁移到另一个集群
- 快照:备份 PV 数据(需要云存储支持)
2.2 架构
Velero Server (控制平面) ├─ Backup Controller ├─ Restore Controller └─ Schedule Controller ↓ 对象存储 (OSS/S3) ├─ 备份元数据 └─ PV 快照3. 部署 Velero
3.1 安装 Velero CLI
# macOSbrewinstallvelero# Linuxwgethttps://github.com/vmware-tanzu/velero/releases/download/v1.11.0/velero-v1.11.0-linux-amd64.tar.gztar-xzf velero-v1.11.0-linux-amd64.tar.gzsudomvvelero-v1.11.0-linux-amd64/velero /usr/local/bin/3.2 配置对象存储(以阿里云 OSS 为例)
# 创建 OSS Bucketossutil mb oss://velero-backup# 安装 Veleroveleroinstall