控制平面灾备准入的Velero备份架构测试 - 第1节
1.1 Velero 灾备架构概述
Velero 是云原生社区广泛使用的开源备份与迁移工具,专为 Kubernetes 集群资源与持久卷提供灾备能力。其核心架构采用 服务端-插件端 分离设计,控制平面运行在集群内,数据平面通过 Restic 或卷快照 API 与存储后端交互。
架构要点: Velero 不依赖特定存储厂商,通过插件机制对接 AWS S3、Azure Blob、GCS、MinIO 等对象存储;备份数据以原生 Kubernetes API 对象格式存储,支持按命名空间、标签、资源类型进行细粒度筛选。
核心组件与职责
| 组件 | 部署位置 | 主要职责 |
|---|---|---|
| Velero 服务端 | Kubernetes 集群内 | 接收 Backup/Restore CRD,调度备份作业,管理生命周期 |
| Restic 守护进程 | DaemonSet 模式 | 执行文件级卷备份,支持增量与加密 |
| 卷快照插件 | CSI 或云厂商驱动 | 创建/删除持久卷的云快照,实现块级备份 |
| 对象存储后端 | 集群外 | 存储备份文件、日志与元数据 |
1.2 控制平面灾备准入概念
在 Kubernetes 控制平面灾备场景中,准入(Admission) 指在备份或恢复操作执行前,对资源对象进行合法性校验、策略匹配与依赖分析的过程。Velero 通过 准入 Webhook 与 备份钩子(Hook) 实现这一机制,确保只有符合灾备策略的资源被纳入备份范围。
核心价值: 准入控制可以防止误备份敏感命名空间、避免恢复时资源冲突、自动注入备份标签,是生产级灾备策略的第一道防线。
准入检查维度
- 资源筛选: 按命名空间白名单/黑名单、标签选择器、资源类型包含/排除列表过滤。
- 依赖解析: 自动识别 PVC→PV→StorageClass、Deployment→ReplicaSet→Pod 等资源依赖链,确保恢复时对象创建顺序正确。
- 策略合规: 检查备份目标是否满足 RPO/RTO 要求,是否启用了加密与完整性校验。
- 冲突检测: 恢复前检查目标集群是否存在同名资源、是否允许覆盖或跳过。
1.3 课程目标与学习路径
本课程面向 Kubernetes 运维工程师、灾备架构师与平台开发者,旨在通过 30 章 系统化内容,帮助学员掌握 Velero 控制平面灾备准入架构的设计、部署与测试方法。
课程目标
- 理解 Velero 控制平面与数据平面的交互原理,掌握 CRD 驱动的备份/恢复生命周期。
- 学会配置准入 Webhook 与备份钩子,实现资源筛选、依赖解析与策略合规检查。
- 能够设计并执行灾备准入测试用例,验证备份完整性、恢复顺序与冲突处理逻辑。
- 具备生产环境 Velero 灾备方案的架构评估与故障排查能力。
学习路径
| 阶段 | 章节范围 | 核心内容 |
|---|---|---|
| 基础篇 | 第 1-8 章 | Velero 架构、CRD 详解、存储后端配置、Restic 集成 |
| 准入篇 | 第 9-16 章 | Webhook 开发、策略引擎、依赖解析、冲突检测 |
| 测试篇 | 第 17-24 章 | 准入测试框架、用例设计、混沌工程、性能基准 |
| 实战篇 | 第 25-30 章 | 生产部署、多集群灾备、故障演练、最佳实践 |
前置要求: 学员需具备 Kubernetes 基础操作能力(kubectl、YAML 编写)、了解容器存储与网络基本概念。建议提前准备一套测试集群(minikube 或 kind 均可)用于实验。