1. 课程导论:多集群架构下镜像拉取的挑战、Cilium网络策略在镜像拉取中的角色、课程目标与前置知识
1.1 多集群架构下的镜像拉取:一个被低估的安全与效率瓶颈
在Kubernetes多集群架构中,工作负载的跨集群调度、弹性伸缩与灾备切换已成为常态。然而,一个看似基础的环节——容器镜像拉取,在多集群环境下却暴露出复杂的安全与网络挑战。镜像仓库通常部署在中心集群或第三方SaaS平台,而工作负载集群可能分布在不同的VPC、公有云区域甚至混合云环境中。这种拓扑分离导致镜像拉取路径变长、认证凭证分散、网络策略难以统一管控。
核心痛点: 镜像拉取权限配置不当,轻则导致Pod启动失败(ImagePullBackOff),重则暴露仓库凭证,成为攻击者横向移动的跳板。
下表总结了多集群镜像拉取面临的主要挑战维度:
| 挑战维度 | 具体问题 | 典型场景 |
|---|---|---|
| 网络可达性 | 集群节点无法直接访问镜像仓库;跨VPC/跨Region路由不通 | 生产集群在AWS us-east-1,仓库在阿里云上海 |
| 凭证管理 | imagePullSecrets在多个集群间分发、轮换困难;密钥泄露风险高 | 使用私有仓库,每个集群需独立配置Secret |
| 策略碎片化 | 每个集群独立配置网络策略,缺乏全局一致性视图 | 集群A允许拉取,集群B因策略遗漏导致拉取失败 |
| 性能与带宽 | 镜像层跨地域传输延迟高,拉取超时;重复拉取浪费带宽 | 大规模集群滚动更新时,镜像拉取成为瓶颈 |
| 审计与合规 | 无法追溯哪个集群、哪个节点在何时拉取了哪个镜像 | 金融合规要求记录所有镜像拉取操作 |
1.2 Cilium网络策略在镜像拉取中的角色
Cilium基于eBPF技术,提供了比传统Kubernetes NetworkPolicy更精细、更高效的网络控制能力。在镜像拉取场景中,Cilium网络策略可以发挥以下关键作用:
- 精细化出口控制: 限制只有特定的节点或Pod可以访问镜像仓库的IP/端口,防止凭证被窃取后用于横向移动。
- 基于身份的策略: 使用CiliumEndpoint或标签选择器,确保只有合法的kubelet或容器运行时进程才能发起拉取请求。
- DNS感知策略: 允许通过域名(如 registry.example.com)而非固定IP来定义策略,适应仓库地址动态变化。
- 加密与认证: 结合Cilium的透明加密(WireGuard/IPsec)和TLS策略,保护镜像拉取过程中的数据传输安全。
- 多集群策略同步: 通过CiliumClusterwideNetworkPolicy或外部策略引擎(如KubiScan),实现跨集群策略的一致性下发。
关键洞察: Cilium网络策略不是镜像拉取的“银弹”,但它提供了将安全控制从“应用层”下沉到“网络层”的能力,使得镜像拉取权限配置从分散的Secret管理,演进为可审计、可编程、可观测的网络策略体系。
1.3 课程目标与前置知识
本课程旨在帮助学员掌握一套可落地、可观测、可扩展的多集群镜像拉取权限配置方案,核心目标如下:
- 理解多集群镜像拉取的网络与安全模型: 掌握镜像拉取涉及的组件(kubelet、containerd、registry)、认证流程(、TLS、Basic Auth)以及常见故障模式。
- 掌握Cilium网络策略的核心概念与API: 包括CiliumNetworkPolicy、CiliumClusterwideNetworkPolicy、Endpoint Selector、FQDN策略、L7策略等。
- 设计并实施基于Cilium的镜像拉取策略: 从单集群验证到多集群同步,涵盖策略编写、灰度发布、故障回滚。
- 构建策略的观测与审计能力: 利用Cilium Hubble、Metrics、Flow Log实现策略效果的实时监控与合规审计。
- 优化拉取性能与可靠性: 结合Cilium的带宽管理、连接跟踪、镜像缓存加速等能力,降低拉取延迟。
重要提示: 本课程不涉及镜像仓库本身的搭建与运维(如Harbor、ECR配置),也不深入讲解eBPF内核原理。课程聚焦于“网络策略”这一层,假设学员已具备基本的Kubernetes集群管理能力。
1.4 前置知识要求
为获得最佳学习效果,建议学员具备以下基础:
| 知识领域 | 具体要求 | 推荐学习资源 |
|---|---|---|
| Kubernetes基础 | 理解Pod、Node、Service、Namespace、NetworkPolicy概念;能使用kubectl操作集群 | Kubernetes官方文档“概念”部分 |
| 容器镜像与仓库 | 了解Docker/containerd镜像拉取流程;知道imagePullSecrets、dockerconfigjson的用途 | Docker官方文档“镜像仓库”章节 |
| 网络基础 | 熟悉TCP/IP、DNS、TLS/SSL基本概念;了解CNI插件的作用 | 《计算机网络:自顶向下方法》第2-3章 |
| Cilium入门 | 了解Cilium是eBPF驱动的CNI;知道Cilium Agent、Cilium Operator的基本角色 | Cilium官方“Getting Started”指南 |
学习路径建议: 如果你对Cilium完全陌生,建议先花30分钟完成Cilium官方“Getting Started”中的“CiliumNetworkPolicy”示例。本课程第2章会快速回顾核心概念,但不会从零讲解eBPF。