4、生产窗口定义:变更窗口、回滚窗口、灰度发布策略、生产环境准入原则

在生产环境中执行 Cilium 网络拓扑变更,必须严格遵循预定义的生产窗口策略。本章定义变更窗口、回滚窗口、灰度发布策略及生产环境准入原则,为后续回滚验证提供时间与流程框架。

4.1 变更窗口(Change Window)

变更窗口是指允许对生产环境执行计划内变更的时间段。Cilium 网络拓扑变更涉及 eBPF 程序加载、Endpoint 路由更新、Node 间隧道/路由切换,必须选择业务低峰期执行。

参数 定义 推荐值
窗口时段 允许执行变更的每日时间区间 02:00 – 05:00(UTC+8)
窗口时长 单次变更最大持续时长 ≤ 120 分钟
窗口类型 常规变更 / 紧急变更 常规:每周二、四;紧急:需特批
变更冻结期 重大活动或版本发布前禁止变更 提前 48 小时冻结
实践建议:Cilium 的 cilium config set 或 kubectl patch 操作应在窗口前 15 分钟完成预检查,避免窗口内因配置语法错误浪费宝贵时间。

4.2 回滚窗口(Rollback Window)

回滚窗口是指变更失败或出现异常后,允许执行回退操作的时间区间。回滚窗口必须与变更窗口重叠或紧随其后,确保问题能在同一生产窗口内闭环。

  • 重叠策略:回滚窗口与变更窗口完全重叠,变更结束后立即进入观察期,观察期结束后回滚窗口关闭。
  • 观察期:变更完成后至少保留 30 分钟观察期,期间不关闭回滚窗口。
  • 回滚超时:单次回滚操作必须在 15 分钟内完成(包括 Cilium DaemonSet 回退、NetworkPolicy 恢复、隧道模式切换)。
  • 自动回滚触发条件:变更后 5 分钟内,核心指标(P99 延迟、错误率、Node 连通性)超过阈值,自动触发回滚流程。
关键约束:回滚窗口一旦关闭,不允许再执行回退操作。如需回退,必须重新申请紧急变更窗口。Cilium 的 cilium-dbg status 健康检查必须在回滚前后各执行一次。

4.3 灰度发布策略(Canary Release Strategy)

Cilium 网络拓扑变更采用灰度发布策略,逐步扩大变更范围,降低爆炸半径。灰度发布分为三个阶段:

  1. 金丝雀节点(Canary Node):选取 1–2 个非关键 Node,先执行 Cilium 配置变更或升级,观察 15 分钟。
  2. 可用区灰度(AZ Gray):金丝雀验证通过后,按可用区(Availability Zone)逐步灰度,每个 AZ 观察 10 分钟。
  3. 全量发布(Full Rollout):所有 AZ 灰度通过后,执行全量发布,全量后观察 30 分钟。
灰度指标卡点:每个灰度阶段必须满足以下条件才能进入下一阶段:
• Endpoint 健康率 ≥ 99.9%
• 节点间连通性测试 100% 通过
• P99 延迟增幅 ≤ 5%
• 无 Cilium Agent CrashLoopBackOff
Cilium 灰度发布流程 金丝雀节点 可用区灰度 全量发布 观察 15 分钟 每 AZ 观察 10 分钟 观察 30 分钟 任一阶段失败 → 回滚 灰度卡点 • Endpoint 健康率 ≥ 99.9% • 连通性 100% 通过 • P99 延迟增幅 ≤ 5%

4.4 生产环境准入原则(Production Admission Principles)

任何 Cilium 变更进入生产环境前,必须通过以下准入检查清单。准入原则分为三个维度:

维度 检查项 验证方式
配置准入 CiliumConfig 语法校验通过 cilium config validate
NetworkPolicy 无冲突 kubectl diff -f policy.yaml
隧道模式与路由模式一致性 集群级预检查脚本
环境准入 预发环境(Staging)灰度通过 预发灰度报告
生产窗口申请已审批 变更管理平台 Ticket
回滚脚本就绪且已验证 回滚演练记录
监控准入 核心监控指标已配置告警 Prometheus + Alertmanager
变更期间 On-Call 人员在线 值班表确认
变更日志已记录变更原因 变更管理平台备注
准入原则铁律:以上三项准入必须全部通过,任一维度不满足则变更延期。Cilium 变更涉及 eBPF 内核态操作,不允许跳过任何准入步骤。
生产环境准入流程 配置准入 环境准入 监控准入 准入通过 → 执行变更 三项准入全部通过后方可进入生产变更窗口

4.5 窗口策略与 Cilium 回滚的关联

生产窗口定义直接决定 Cilium 回滚验证的可行性与时效性:

  • 回滚窗口必须覆盖变更窗口:确保 Cilium DaemonSet 回退、NetworkPolicy 恢复等操作能在同一窗口内完成。
  • 灰度阶段与窗口对齐:每个灰度阶段消耗一个子窗口,子窗口内必须完成观察+决策。
  • 准入原则是回滚的保险:严格的准入检查减少回滚触发概率,但一旦触发,回滚流程必须能在 15 分钟内完成。
最佳实践:在变更窗口开启前,预先执行 cilium-dbg status --verbose 并保存快照,回滚时可直接对比状态差异,加速故障定位。