1. 课程导论:服务目录平台与 Cilium 的关系

1.1 服务目录平台的网络挑战

服务目录平台(Service Catalog Platform)是现代云原生架构中管理微服务注册、发现、路由与治理的核心组件。随着集群规模从数十个服务增长到数千个,传统的 iptables 或 kube-proxy 模式在性能、安全策略和可观测性方面逐渐暴露出瓶颈:

  • 性能瓶颈:大规模 Service 更新导致 iptables 规则链膨胀,规则下发延迟可达秒级。
  • 安全粒度不足:传统 NetworkPolicy 仅支持 L3/L4 过滤,无法识别 HTTP 方法、API 路径或 gRPC 服务名。
  • 可观测性缺失:缺乏原生的 L7 流量指标,故障定位依赖外部 sidecar 或代理。
  • 运维复杂度:多集群服务互联需要额外的 CNI 插件或 VPN 隧道。
核心矛盾:服务目录平台要求 高性能、细粒度、可编程 的网络策略,而传统内核网络栈难以同时满足这三项需求。

1.2 Cilium 在云原生网络中的核心价值

Cilium 基于 eBPF(extended Berkeley Packet Filter) 技术,将网络、安全和可观测性下沉到 Linux 内核,为服务目录平台提供了三大核心能力:

能力维度 传统方案(iptables / sidecar) Cilium(eBPF)
数据面性能 规则链遍历 O(n),延迟随规则数线性增长 哈希表查找 O(1),延迟稳定在微秒级
安全策略粒度 L3/L4(IP + 端口),无法识别应用协议 L3/L4 + L7(HTTP/gRPC/Kafka/DNS),支持 API 路径与方法过滤
可观测性 依赖 Prometheus + 额外 exporter 内核原生 Hubble,零侵入采集 L3/L4/L7 指标与流日志
服务网格集成 Envoy sidecar 模式,资源开销高 kube-proxy 替代 + 透明加密(WireGuard/IPsec),无需 sidecar
关键洞察:Cilium 通过 eBPF 将网络策略执行点从用户态 sidecar 移入内核态,消除了数据拷贝与上下文切换开销,使服务目录平台获得 接近裸机性能 的网络隔离能力。
Cilium 在服务目录平台中的核心价值 Cilium 在服务目录平台中的核心价值 服务目录平台 服务注册与发现 负载均衡与路由 灰度发布与熔断 多集群互联 Cilium eBPF 引擎 eBPF 数据面 L3/L4 策略 L7 策略 Hubble 可观测性 透明加密 核心价值 高性能(微秒级) 细粒度安全 零侵入观测 低资源开销 多集群统一 Cilium 作为服务目录平台的网络底座,提供高性能、安全、可观测的统一数据面

1.3 课程目标与学习路径

本课程面向 Kubernetes 集群管理员、平台工程师、SRE,旨在帮助学员掌握 Cilium 在生产环境中的准入控制配置与故障排查技能。课程结束后,学员将能够:

  1. 理解 Cilium 架构:掌握 Cilium Agent、Operator、CNI 插件、Hubble 等组件的协作关系。
  2. 配置准入控制:使用 CiliumNetworkPolicy、CiliumClusterwideNetworkPolicy 实现 L3/L4/L7 安全策略。
  3. 实施服务目录集成:将 Cilium 策略与 Istio/Consul 等服务网格或注册中心联动。
  4. 故障排查:利用 Hubble CLI、cilium monitor、eBPF 调试工具定位网络连通性、策略冲突和性能问题。
  5. 生产级运维:掌握升级、备份、多集群互联(Cluster Mesh)和可观测性最佳实践。
前置要求:学员需具备 Kubernetes 基础操作经验(Pod/Service/NetworkPolicy),了解 Linux 网络命名空间和 iptables 基本概念。无需 eBPF 编程经验。

1.4 课程章节地图

课程共分为 6 个模块、30 个章节,按学习路径递进:

模块 章节范围 核心内容
模块一:基础与架构 第 1-5 章 Cilium 架构、eBPF 原理、安装部署、kube-proxy 替代
模块二:准入控制 第 6-12 章 CiliumNetworkPolicy、L7 策略、DNS 策略、身份认证
模块三:服务目录集成 第 13-18 章 与 Istio/Consul 集成、多集群服务发现、灰度路由
模块四:可观测性 第 19-23 章 Hubble 部署、流日志、指标监控、告警配置
模块五:故障排查 第 24-28 章 策略冲突诊断、性能调优、eBPF 调试、常见问题库
模块六:生产运维 第 29-30 章 升级回滚、Cluster Mesh、安全加固、总结与认证
课程学习路径与模块关系 课程学习路径与模块关系 模块一:基础与架构 第 1-5 章 · 安装部署 · eBPF 原理 模块二:准入控制 第 6-12 章 · L3/L4/L7 策略 模块三:服务目录集成 第 13-18 章 · Istio/Consul 模块四:可观测性 第 19-23 章 · Hubble · 监控 模块五:故障排查 第 24-28 章 · 诊断 · 调优 模块六:生产运维 第 29-30 章 · 升级 · 安全 学习建议:按模块顺序学习,模块二和模块五为课程重点 每个模块包含理论讲解 + 动手实验 + 故障场景演练 建议每周完成 1 个模块,总学习周期约 6-8 周

1.5 实验环境说明

本课程所有实验均基于以下环境:

  • Kubernetes 版本:v1.28+(支持 eBPF 内核特性)
  • Cilium 版本:v1.15+(推荐使用 Helm 部署)
  • Linux 内核:5.10+(建议 5.15+ 以获得完整 eBPF 功能)
  • 节点规格:至少 2 个 worker 节点,每节点 4 核 8GB
  • 可选组件:Hubble UI、Prometheus + Grafana、Istio 1.20+