1. 课程导论:Cilium与Envoy联合架构概述、升级场景与链路追踪验证的重要性
1.1 为什么需要Cilium与Envoy联合部署?
在云原生微服务架构中,网络与代理层正从“独立组件”走向“联合控制平面”。Cilium 基于 eBPF 技术提供高性能网络、安全策略与可观测性;Envoy 作为 L7 代理,负责精细的流量路由、负载均衡与熔断。两者联合部署时,Cilium 处理 L3/L4 网络与安全策略,Envoy 处理 L7 流量治理,形成“南北向+东西向”全覆盖的数据面。
核心价值: Cilium 提供内核级网络加速与安全策略,Envoy 提供应用层流量治理,联合架构可同时获得高性能与灵活路由能力。
1.2 联合架构概览
下图展示了 Cilium 与 Envoy 在 Kubernetes 集群中的典型联合部署模式:
1.3 升级场景分析
在生产环境中,Cilium 与 Envoy 的升级通常不是同步进行的。下表列出了常见的联合升级场景及其风险等级:
| 升级场景 | 描述 | 风险等级 | 典型影响 |
|---|---|---|---|
| Cilium 升级 | eBPF 程序、CNI 插件或 Agent 版本变更 | 中 | 网络策略中断、连接重置、eBPF 映射不兼容 |
| Envoy 升级 | Sidecar 或 Gateway 代理版本变更 | 中 | 路由规则变更、HTTP 过滤器行为差异、连接池重置 |
| 联合升级 | 两者同时或先后升级 | 高 | 链路追踪上下文丢失、请求超时、策略冲突 |
| 回滚操作 | 升级失败后回退到旧版本 | 高 | 数据面与控制面版本不匹配、追踪数据断裂 |
注意: 联合升级时,Cilium 的 eBPF 网络策略与 Envoy 的 L7 路由策略可能产生时序冲突,导致部分请求被错误丢弃或路由到错误后端。链路追踪是发现这类问题的关键手段。
1.4 链路追踪验证的重要性
在联合升级过程中,链路追踪验证承担以下核心职责:
- 端到端连通性验证: 确认升级后请求仍能正确穿越 Cilium 网络层与 Envoy 代理层。
- 上下文传播完整性: 验证 Trace ID、Span ID 等上下文信息在 Cilium 与 Envoy 之间正确传递,不丢失、不截断。
- 性能基线对比: 通过追踪数据对比升级前后的延迟分布、错误率与吞吐量变化。
- 策略生效验证: 确认 Cilium 网络策略与 Envoy 路由策略在升级后仍按预期协同工作。
1.5 验证流程概览
下图展示了联合升级后的链路追踪验证标准流程:
1.6 课程目标与学习路径
本课程将带领你从零搭建 Cilium + Envoy 联合环境,并完成以下核心实践:
- 环境搭建: 部署 Cilium 与 Envoy 的联合集群,配置链路追踪后端(Jaeger)。
- 升级演练: 模拟 Cilium 与 Envoy 的独立升级与联合升级场景。
- 追踪验证: 使用 OpenTelemetry 注入追踪上下文,验证升级前后的链路完整性。
- 问题排查: 通过追踪数据定位升级导致的连接中断、策略冲突与性能退化。
- 自动化验证: 编写自动化脚本,将链路追踪验证集成到 CI/CD 流水线。
建议: 学习本课程前,建议具备 Kubernetes 基础操作能力,了解 Cilium 与 Envoy 的基本概念。课程中会提供完整的 YAML 配置与脚本示例。