1. 课程导论:服务目录平台概述、Cilium在云原生网络中的角色、流水线集成的重要性
1.1 服务目录平台概述
服务目录平台(Service Catalog Platform)是企业云原生架构中的“服务市场”,它统一管理所有微服务、中间件、数据服务的注册、发现、版本、依赖与访问策略。在 Kubernetes 生态中,服务目录通常以 Operator + CRD 的形式实现,将服务抽象为可部署、可治理的标准化单元。
| 维度 | 传统服务管理 | 服务目录平台 |
|---|---|---|
| 服务注册 | 手动配置 DNS / 配置文件 | 自动注册到 CRD + API Server |
| 网络策略 | 独立防火墙规则 / 人工审批 | 声明式 CiliumNetworkPolicy 自动注入 |
| 部署流水线 | Jenkins 手动触发 | GitOps + ArgoCD 全自动同步 |
| 可观测性 | 日志 + 告警分离 | eBPF 级指标 + 服务拓扑 |
课程聚焦:本课程将围绕一个真实的“订单-支付-库存”服务目录案例,演示如何通过 Cilium 网络策略实现零信任隔离,并通过流水线自动化完成策略与服务的协同部署。
1.2 Cilium在云原生网络中的角色
Cilium 是基于 eBPF(Extended Berkeley Packet Filter)的云原生网络、安全与可观测性解决方案。它在 Kubernetes 网络模型中扮演以下关键角色:
- CNI 插件:替代 Calico / Flannel,提供高性能 Pod 网络与 Service 负载均衡。
- 网络策略引擎:通过 CiliumNetworkPolicy(CNP)实现 L3/L4/L7 层精细访问控制,支持 HTTP/gRPC/Kafka 协议过滤。
- 服务网格数据平面:可替代 Envoy 作为 Sidecar,提供透明加密(WireGuard/IPsec)与流量管理。
- 可观测性数据源:基于 eBPF 采集 TCP/UDP/HTTP 流、DNS 请求、TCP 状态等,无需侵入式埋点。
为什么选择 Cilium? 在服务目录平台中,服务数量可能达到数百甚至数千,传统 iptables 策略规则会引发性能瓶颈。Cilium 的 eBPF 内核编程模型将策略执行从用户态下沉到内核态,延迟降低 60% 以上,规则更新无需重建连接。
1.3 流水线集成的重要性
在服务目录平台中,网络策略不再是“一次性配置”,而是需要随服务版本迭代、环境迁移、安全合规要求持续变更。流水线集成(Pipeline Integration)解决了以下核心痛点:
- 策略与代码同源:将 CiliumNetworkPolicy YAML 与服务代码存储在同一个 Git 仓库,通过 GitOps 实现策略版本化。
- 自动化验证:在 CI 阶段对策略进行语法检查、冲突检测、模拟执行(Cilium Connectivity Test),避免错误策略上线。
- 环境差异化注入:通过 Kustomize / Helm 为 dev/staging/prod 环境生成不同的策略参数(如 IP CIDR、端口范围)。
- 策略审计与回滚:流水线自动记录每次策略变更的 diff、审批人、执行结果,支持一键回滚到历史版本。
常见误区:很多团队将网络策略视为“基础设施配置”,由运维手动维护。当服务目录扩展到 50+ 服务时,手动策略管理会导致配置漂移、安全漏洞、故障恢复时间延长。流水线集成是规模化服务目录的必经之路。
1.4 课程目标与学习路径
通过本课程,你将掌握以下核心能力:
- 设计服务目录平台:基于 Kubernetes CRD + Operator 构建可扩展的服务注册与发现体系。
- 编写 Cilium 网络策略:从 L3/L4 基础隔离到 L7 HTTP/gRPC 精细化控制,覆盖零信任安全模型。
- 集成 GitOps 流水线:使用 ArgoCD + Kustomize 实现策略与服务的自动化部署、验证、回滚。
- 生产级最佳实践:策略冲突检测、性能调优、多集群策略同步、审计合规。
前置要求:熟悉 Kubernetes 基础概念(Pod、Service、Ingress)、了解 YAML 声明式配置、具备基本的 CI/CD 概念。无需深入 eBPF 内核知识,课程会从应用层逐步展开。