1. 课程导论:Cilium与Envoy联合架构概述、升级场景与链路追踪验证的重要性

1.1 为什么需要Cilium与Envoy联合部署?

在云原生微服务架构中,网络与代理层正从“独立组件”走向“联合控制平面”。Cilium 基于 eBPF 技术提供高性能网络、安全策略与可观测性;Envoy 作为 L7 代理,负责精细的流量路由、负载均衡与熔断。两者联合部署时,Cilium 处理 L3/L4 网络与安全策略,Envoy 处理 L7 流量治理,形成“南北向+东西向”全覆盖的数据面。

核心价值: Cilium 提供内核级网络加速与安全策略,Envoy 提供应用层流量治理,联合架构可同时获得高性能与灵活路由能力。

1.2 联合架构概览

下图展示了 Cilium 与 Envoy 在 Kubernetes 集群中的典型联合部署模式:

Cilium + Envoy 联合架构示意图 Kubernetes 集群 Worker Node 1 Pod A App Container (Sidecar Envoy) Pod B App Container (Sidecar Envoy) Cilium Agent (eBPF) Worker Node 2 Pod C App Container (Sidecar Envoy) Pod D App Container (Sidecar Envoy) Cilium Agent (eBPF) 跨节点流量(Cilium 隧道/路由)

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. 升级前基线 采集追踪数据 2. 执行升级 Cilium / Envoy 3. 注入测试流量 带追踪上下文 4. 采集追踪数据 Jaeger / Tempo 5. 对比分析 基线 vs 升级后 6. 生成验证报告 通过 / 失败 7. 回滚或确认

1.6 课程目标与学习路径

本课程将带领你从零搭建 Cilium + Envoy 联合环境,并完成以下核心实践:

  1. 环境搭建: 部署 Cilium 与 Envoy 的联合集群,配置链路追踪后端(Jaeger)。
  2. 升级演练: 模拟 Cilium 与 Envoy 的独立升级与联合升级场景。
  3. 追踪验证: 使用 OpenTelemetry 注入追踪上下文,验证升级前后的链路完整性。
  4. 问题排查: 通过追踪数据定位升级导致的连接中断、策略冲突与性能退化。
  5. 自动化验证: 编写自动化脚本,将链路追踪验证集成到 CI/CD 流水线。
建议: 学习本课程前,建议具备 Kubernetes 基础操作能力,了解 Cilium 与 Envoy 的基本概念。课程中会提供完整的 YAML 配置与脚本示例。