1. 课程导论:云原生灾备与准入策略的背景、Gatekeeper 在灾备中的角色、课程目标与学习路径
1.1 云原生灾备面临的新挑战
传统灾备方案在云原生环境中遭遇了架构与策略的双重断层。Kubernetes 集群的声明式 API、动态扩缩容、不可变基础设施等特性,使得灾备不再只是“数据复制+应用拉起”,而是必须覆盖资源定义、权限模型、策略合规三个维度。
| 维度 | 传统灾备痛点 | 云原生灾备新要求 |
|---|---|---|
| 资源定义 | 依赖脚本或人工配置 | 声明式 YAML 版本化、策略即代码 |
| 权限模型 | 静态 RBAC 绑定 | 动态准入控制 + 最小权限持续验证 |
| 策略合规 | 事后审计 | 事前准入拦截 + 事中变更管控 |
核心矛盾:灾备切换时,集群需要临时提升权限或修改资源配额,但传统 RBAC 无法细粒度控制“谁在什么条件下可以变更什么资源”,导致权限滥用或策略绕过风险。
1.2 准入策略在灾备中的关键作用
Kubernetes 准入控制器(Admission Controller)是集群安全的“守门员”。在灾备场景下,准入策略需要解决三个核心问题:
- 资源合规校验:灾备恢复时创建的 Pod、PVC、Service 是否符合安全基线?
- 权限变更管控:谁可以临时提升 RBAC 权限?提升后是否自动回收?
- 策略一致性:主集群与灾备集群的准入策略是否同步?
1.3 Gatekeeper 在灾备中的角色定位
Gatekeeper 是基于 OPA(Open Policy Agent)的 Kubernetes 准入控制器,它通过 ConstraintTemplate 和 Constraint 实现策略即代码。在灾备场景中,Gatekeeper 承担以下角色:
- 策略引擎:用 Rego 语言编写灾备专用策略,如“灾备恢复时允许临时放宽 Pod 安全策略”。
- 变更审计:记录所有被准入拦截或放行的权限变更请求,生成审计日志。
- 策略同步:通过 GitOps 或 Operator 确保主集群与灾备集群的策略版本一致。
- 熔断机制:当灾备集群资源异常时,自动阻断高风险变更操作。
实践建议:在灾备集群中部署 Gatekeeper 时,建议使用
--audit-interval=30s 参数缩短审计周期,并开启 --log-level=debug 记录所有准入决策详情。
1.4 课程目标与学习路径
本课程旨在帮助学员掌握以下核心能力:
| 模块 | 核心目标 | 关键产出 |
|---|---|---|
| 基础篇 | 理解 Gatekeeper 架构与 Rego 策略语法 | 能编写灾备场景下的基础 ConstraintTemplate |
| 策略篇 | 设计灾备准入策略模板与权限变更规则 | 灾备策略库(含 RBAC 变更管控) |
| 评审篇 | 掌握策略评审流程与变更风险量化方法 | 策略评审报告模板与风险评分卡 |
| 实战篇 | 完成灾备切换全流程的准入策略演练 | 灾备恢复自动化流水线(含 Gatekeeper) |
前置要求:学员需具备 Kubernetes 基础操作能力(kubectl、YAML 编写),了解 RBAC 基本概念。建议先完成《Kubernetes 安全基础》课程或具备同等知识储备。