1. 课程导论:蓝绿发布概念、Cilium在云原生网络中的角色、课程目标与前置知识

1.1 蓝绿发布:零宕机部署的核心模式

蓝绿发布(Blue-Green Deployment)是一种旨在最小化停机时间并降低风险的软件发布策略。其核心思想是维护两套完全独立的生产环境:蓝环境(当前稳定版本)与绿环境(新版本)。通过流量路由的瞬间切换,实现应用的平滑升级。

核心流程: 部署新版本 → 验证绿环境 → 切换流量 → 保留蓝环境作为回退。
阶段 蓝环境 (Blue) 绿环境 (Green) 流量入口
初始状态 运行 v1.0,承载100%流量 空闲或运行旧版本 指向蓝环境
部署阶段 运行 v1.0,承载100%流量 部署并启动 v2.0 指向蓝环境
验证阶段 运行 v1.0,承载100%流量 运行 v2.0,内部测试 指向蓝环境
切换阶段 运行 v1.0,0%流量 运行 v2.0,承载100%流量 指向绿环境
回退阶段 运行 v1.0,随时接管 运行 v2.0,0%流量 指向蓝环境
关键优势: 瞬时切换、即时回滚、环境隔离。相比滚动更新,蓝绿发布在出现问题时可以秒级恢复,极大降低发布风险。
蓝绿发布流量切换流程 蓝绿发布流量切换流程 用户流量 负载均衡器 / Service 蓝环境 (v1.0) 当前生产版本 绿环境 (v2.0) 新版本待验证 切换阶段:负载均衡器将流量入口从蓝环境(实线)瞬间切换至绿环境(虚线变为实线)

1.2 Cilium在云原生网络中的核心角色

Cilium是基于eBPF(Extended Berkeley Packet Filter)技术的云原生网络、安全与可观测性解决方案。在Kubernetes生态中,Cilium作为CNI(Container Network Interface)插件,提供了远超传统网络方案(如Flannel、Calico)的能力。

  • 高性能网络: 通过eBPF直接在Linux内核中处理数据包,绕过iptables,实现毫秒级延迟与高吞吐。
  • 精细化安全策略: 支持基于身份(Identity)的L3/L4/L7网络策略,无需依赖IP地址。
  • 深度可观测性: 提供Hubble组件,实时捕获网络流量、DNS请求、HTTP指标等,支持Prometheus集成。
  • 服务网格能力: 支持L7流量管理、TLS卸载、透明加密(WireGuard/IPsec)。
能力维度 传统方案 (iptables/Flannel) Cilium (eBPF)
数据路径 用户态 → 内核态 iptables → 回环 内核态 eBPF 直接转发
网络策略粒度 基于 IP/CIDR 基于 Pod 身份、标签、L7 协议
流量监控 需额外部署 sidecar 或 agent 内核原生 Hubble,零侵入
发布场景支持 依赖 Service 与 iptables 概率转发 原生支持流量镜像、策略切换、集群网格
注意: 在蓝绿发布场景中,Cilium 的 NetworkPolicy 与 ClusterMesh 能力可以实现跨集群流量隔离与灰度验证,这是传统 CNI 难以做到的。
Cilium 在 Kubernetes 网络栈中的位置 Cilium 在 Kubernetes 网络栈中的位置 Kubernetes 应用层 (Pod / Deployment / Service) Cilium (eBPF 数据平面 + 控制平面) Hubble 监控 · 网络策略 · 服务网格 · 透明加密 Linux 内核 (eBPF Hook / XDP / TC) 物理网卡 / 虚拟网卡 (veth)

1.3 课程目标与前置知识

课程目标

完成本课程后,学员将能够:

  1. 设计并实施基于Cilium的蓝绿发布网络架构。
  2. 利用Hubble实时监控发布过程中的流量变化与异常。
  3. 编写自动化脚本,在发布故障时自动触发流量回退或隔离。
  4. 诊断常见问题:DNS解析失败、策略阻断、连接泄漏、流量倾斜等。

前置知识要求

领域 具体要求
Kubernetes 熟悉 Pod、Service、Deployment、Ingress 等核心资源;了解 kubectl 常用命令。
Linux 网络基础 理解 TCP/IP 协议栈、网络命名空间、iptables 基本概念。
容器网络 了解 CNI 插件工作原理、Pod 网络模型(如 Calico/Flannel)。
eBPF 基础 了解 eBPF 是什么、能做什么(非必须,课程会讲解关键概念)。
编程/脚本 具备 Python 或 Bash 脚本编写能力,用于自动化故障排查。
推荐环境: 建议准备一个至少 4 节点(1 Master + 3 Worker)的 Kubernetes 集群,并安装 Cilium 1.14+ 版本。可使用 kind 或 k3s 快速搭建实验环境。

1.4 课程内容概览

本课程共分为 30 章,涵盖从理论到实战的完整链路:

  • 第 1-5 章: 基础概念与环境搭建(蓝绿发布、Cilium 安装、Hubble 部署)。
  • 第 6-15 章: 核心监控与策略(流量可视化、网络策略编写、DNS 监控、L7 协议解析)。
  • 第 16-25 章: 蓝绿发布实战(Service 切换、ClusterMesh 跨集群发布、流量镜像、自动化回滚)。
  • 第 26-30 章: 故障排查与最佳实践(常见故障模式、自动化诊断脚本、生产级架构设计)。