1. 课程导论:云原生灾备与准入策略的背景、Gatekeeper 在灾备中的角色、课程目标与学习路径

1.1 云原生灾备面临的新挑战

传统灾备方案在云原生环境中遭遇了架构与策略的双重断层。Kubernetes 集群的声明式 API、动态扩缩容、不可变基础设施等特性,使得灾备不再只是“数据复制+应用拉起”,而是必须覆盖资源定义、权限模型、策略合规三个维度。

维度 传统灾备痛点 云原生灾备新要求
资源定义 依赖脚本或人工配置 声明式 YAML 版本化、策略即代码
权限模型 静态 RBAC 绑定 动态准入控制 + 最小权限持续验证
策略合规 事后审计 事前准入拦截 + 事中变更管控
核心矛盾:灾备切换时,集群需要临时提升权限或修改资源配额,但传统 RBAC 无法细粒度控制“谁在什么条件下可以变更什么资源”,导致权限滥用或策略绕过风险。

1.2 准入策略在灾备中的关键作用

Kubernetes 准入控制器(Admission Controller)是集群安全的“守门员”。在灾备场景下,准入策略需要解决三个核心问题:

  1. 资源合规校验:灾备恢复时创建的 Pod、PVC、Service 是否符合安全基线?
  2. 权限变更管控:谁可以临时提升 RBAC 权限?提升后是否自动回收?
  3. 策略一致性:主集群与灾备集群的准入策略是否同步?
灾备场景下准入策略的三大拦截点 灾备切换触发 资源创建/更新 权限变更请求 拦截点1:资源合规 Pod安全上下文 拦截点2:策略一致性 标签/注解校验 拦截点3:权限审计 临时提权管控 关键原则:灾备恢复期间,准入策略应自动降级为“宽松模式”但保留审计日志 恢复完成后,策略自动恢复为“严格模式”,确保权限变更可追溯

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)
课程学习路径图 阶段1:基础篇 Gatekeeper架构 Rego语法入门 阶段2:策略篇 灾备策略模板 RBAC变更管控 阶段3:评审篇 策略评审流程 风险量化方法 实战篇 全流程演练 学习建议 每阶段完成后,建议在测试集群中完成对应实验 最终实战需准备至少 2 个集群(主集群 + 灾备集群)
前置要求:学员需具备 Kubernetes 基础操作能力(kubectl、YAML 编写),了解 RBAC 基本概念。建议先完成《Kubernetes 安全基础》课程或具备同等知识储备。