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 网络拓扑变更采用灰度发布策略,逐步扩大变更范围,降低爆炸半径。灰度发布分为三个阶段:
- 金丝雀节点(Canary Node):选取 1–2 个非关键 Node,先执行 Cilium 配置变更或升级,观察 15 分钟。
- 可用区灰度(AZ Gray):金丝雀验证通过后,按可用区(Availability Zone)逐步灰度,每个 AZ 观察 10 分钟。
- 全量发布(Full Rollout):所有 AZ 灰度通过后,执行全量发布,全量后观察 30 分钟。
灰度指标卡点:每个灰度阶段必须满足以下条件才能进入下一阶段:
• Endpoint 健康率 ≥ 99.9%
• 节点间连通性测试 100% 通过
• P99 延迟增幅 ≤ 5%
• 无 Cilium Agent CrashLoopBackOff
• Endpoint 健康率 ≥ 99.9%
• 节点间连通性测试 100% 通过
• P99 延迟增幅 ≤ 5%
• 无 Cilium Agent CrashLoopBackOff
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 并保存快照,回滚时可直接对比状态差异,加速故障定位。