1. 课程导论:蓝绿发布概念、回滚必要性、CNI防护验证集成目标
1.1 蓝绿发布核心概念
蓝绿发布(Blue-Green Deployment)是一种零停机、流量瞬时切换的发布策略。生产环境同时维护两套完整的基础设施副本:蓝环境(当前稳定版本)与绿环境(新版本候选)。通过负载均衡器或服务网格的流量规则,实现瞬间将用户流量从蓝环境完整切换至绿环境。
关键特征: 两套独立环境、流量瞬时切换、快速回滚、环境一致性保障。
| 维度 | 蓝环境 | 绿环境 |
|---|---|---|
| 状态 | 承载生产流量(当前稳定版) | 部署新版本,待验证 |
| 流量 | 100% 用户请求 | 0% 或内部测试流量 |
| 回滚方式 | 保持不动,随时切回 | 验证失败则直接销毁 |
| 资源成本 | 全额运行 | 全额运行(发布期间) |
1.2 回滚的必要性与挑战
蓝绿发布的核心优势之一就是瞬时回滚能力。当绿环境验证失败(如功能缺陷、性能退化、安全漏洞),只需将负载均衡器流量切回蓝环境即可。然而,网络层面的回滚远比应用层复杂:
- CNI 网络策略残留: 新版本部署时可能动态修改了 NetworkPolicy、Calico 策略或 Cilium 网络规则,回滚后这些策略可能未被清理,导致蓝环境网络隔离失效。
- Service 端点漂移: 回滚过程中,Kubernetes Service 的 EndpointSlice 可能因 Pod 重建顺序导致短暂流量黑洞或路由到旧版本。
- IP 地址冲突: 蓝绿环境使用相同 IP 池时,回滚后的 Pod 可能分配到已被占用的 IP,引发 ARP 冲突或连通性故障。
- DNS 缓存滞后: 即使流量切回蓝环境,DNS TTL 未过期前,部分客户端仍可能解析到绿环境 IP。
⚠ 常见误区: 很多团队认为蓝绿回滚只是“改一下流量权重”,忽略了 CNI 层网络策略、Service 端点、IP 分配等基础设施状态的自动清理与恢复,导致回滚后出现网络分区或安全漏洞。
1.3 CNI 防护验证集成目标
本课程的核心目标是构建一套自动化、可验证、可观测的蓝绿发布网络防护体系,将 CNI 层的安全策略验证与回滚流程深度集成。具体目标如下:
| 目标维度 | 具体内容 | 交付物 |
|---|---|---|
| 自动化回滚 | 发布失败时自动触发网络策略回滚、Service 端点恢复、IP 释放 | 回滚 Pipeline + Operator |
| CNI 策略验证 | 发布前/后自动校验 NetworkPolicy、Calico 规则、Cilium 网络策略一致性 | 策略审计工具 + 准入 Webhook |
| 网络连通性探测 | 跨命名空间、跨节点、跨 CNI 插件的端到端连通性自动化测试 | e2e 测试套件 + 指标采集 |
| 可观测性集成 | 回滚事件、策略变更、网络延迟/丢包等指标接入 Prometheus/Grafana | Dashboard + 告警规则 |
| 安全合规 | 确保回滚后网络隔离策略不降级,满足等保/PCI-DSS 合规要求 | 合规报告 + 审计日志 |
1.4 课程整体架构
本课程共 30 章,分为五大模块,从理论到实战逐步深入:
💡 学习建议: 建议先掌握模块一的基础概念,再动手搭建模块二的环境。模块三和模块四可以并行学习,最后通过模块五的生产实战将所学知识串联起来。每章末尾都配有可执行的代码示例和验证步骤。