1. 课程导论:蓝绿发布概念、回滚必要性、CNI防护验证集成目标

1.1 蓝绿发布核心概念

蓝绿发布(Blue-Green Deployment)是一种零停机、流量瞬时切换的发布策略。生产环境同时维护两套完整的基础设施副本:蓝环境(当前稳定版本)与绿环境(新版本候选)。通过负载均衡器或服务网格的流量规则,实现瞬间将用户流量从蓝环境完整切换至绿环境。

关键特征: 两套独立环境、流量瞬时切换、快速回滚、环境一致性保障。
维度 蓝环境 绿环境
状态 承载生产流量(当前稳定版) 部署新版本,待验证
流量 100% 用户请求 0% 或内部测试流量
回滚方式 保持不动,随时切回 验证失败则直接销毁
资源成本 全额运行 全额运行(发布期间)
蓝绿发布流量切换流程 用户流量入口 负载均衡器 / 网关 蓝环境(当前版本) Pod 副本集 · Service · Ingress 流量:100% ✅ 绿环境(新版本) Pod 副本集 · Service · Ingress 流量: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 章,分为五大模块,从理论到实战逐步深入:

课程整体架构(五大模块) 模块一:基础与原理 第1-5章 蓝绿发布原理 CNI 网络模型 回滚策略设计 模块二:环境搭建 第6-10章 K8s 集群部署 Calico/Cilium 安装 蓝绿环境配置 模块三:自动化回滚 第11-17章 策略回滚引擎 端点恢复机制 IP 释放与回收 模块四:CNI 防护验证 第18-25章 NetworkPolicy 审计 连通性测试框架 合规扫描集成 模块五:生产实战 第26-30章 CI/CD 流水线集成 故障演练与混沌 生产级 Dashboard
💡 学习建议: 建议先掌握模块一的基础概念,再动手搭建模块二的环境。模块三和模块四可以并行学习,最后通过模块五的生产实战将所学知识串联起来。每章末尾都配有可执行的代码示例和验证步骤。