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 移入内核态,消除了数据拷贝与上下文切换开销,使服务目录平台获得 接近裸机性能 的网络隔离能力。
1.3 课程目标与学习路径
本课程面向 Kubernetes 集群管理员、平台工程师、SRE,旨在帮助学员掌握 Cilium 在生产环境中的准入控制配置与故障排查技能。课程结束后,学员将能够:
- 理解 Cilium 架构:掌握 Cilium Agent、Operator、CNI 插件、Hubble 等组件的协作关系。
- 配置准入控制:使用 CiliumNetworkPolicy、CiliumClusterwideNetworkPolicy 实现 L3/L4/L7 安全策略。
- 实施服务目录集成:将 Cilium 策略与 Istio/Consul 等服务网格或注册中心联动。
- 故障排查:利用 Hubble CLI、cilium monitor、eBPF 调试工具定位网络连通性、策略冲突和性能问题。
- 生产级运维:掌握升级、备份、多集群互联(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 实验环境说明
本课程所有实验均基于以下环境:
- 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+