1. 课程导论:多集群镜像拉取故障的常见场景、Cilium在其中的角色、课程目标与前置知识
1.1 多集群镜像拉取故障的常见场景
在混合云与多集群架构中,镜像拉取(Image Pull)是 Pod 生命周期中最脆弱的环节之一。镜像仓库通常部署在中心集群或外部注册中心,而工作负载集群可能分布在不同的 VPC、机房甚至云厂商。镜像拉取失败不仅导致 Pod 无法启动,还会触发集群自动扩缩容异常、滚动更新阻塞、以及监控告警风暴。
以下是生产环境中高频出现的四类镜像拉取故障场景:
| 场景编号 | 故障描述 | 典型根因 | 影响范围 |
|---|---|---|---|
| S1 | 跨集群镜像拉取超时 | 网络路径经过 NAT 网关或公网,延迟高、丢包重传 | 单个工作负载集群 |
| S2 | 镜像层下载中断(partial pull) | 中间防火墙截断长连接,或 MTU 分片导致 TCP 重置 | 特定节点上的 Pod |
| S3 | 镜像仓库 DNS 解析失败 | 跨集群 DNS 策略未开放,或 CoreDNS 缓存污染 | 整个集群 |
| S4 | 镜像拉取被网络策略(NetworkPolicy)阻断 | CiliumNetworkPolicy 或 K8s NetworkPolicy 未放通仓库 IP/端口 | 特定命名空间或节点 |
关键洞察: 在 Cilium 作为 CNI 的多集群环境中,镜像拉取流量默认经过 eBPF 数据面处理。如果 CiliumNetworkPolicy 或 ClusterMesh 的隧道策略配置不当,原本正常的镜像拉取可能被意外丢弃或路由黑洞。
1.2 Cilium 在多集群镜像拉取中的角色
Cilium 在多集群架构中承担了网络策略执行、服务路由、以及可观测性三大职责。镜像拉取流量从 Pod 出发到镜像仓库,会依次经过以下 Cilium 组件:
- 节点级 eBPF 程序:在 XDP 或 TC 挂载点拦截出站流量,执行策略匹配。
- Cilium Agent:维护 Endpoint 与 Identity,决定流量是否被允许。
- CiliumNetworkPolicy:基于标签的 L3/L7 策略,可能限制出口流量到特定 CIDR 或 FQDN。
- ClusterMesh:跨集群 Service 暴露时,镜像仓库可能通过 Global Service 访问,涉及隧道封装与策略同步。
排障提示: 当镜像拉取失败时,优先检查 CiliumAgent 日志中的
policy verdict 条目。如果出现 denied by CiliumNetworkPolicy,说明策略规则未放通镜像仓库的出口流量。
1.3 课程目标
本课程旨在帮助学员掌握以下核心能力:
- 诊断能力:能够快速定位多集群环境下镜像拉取失败的网络根因,区分策略问题、路由问题与 DNS 问题。
- 优化能力:通过调整 CiliumNetworkPolicy、ClusterMesh 隧道配置以及 eBPF 参数,降低镜像拉取延迟与失败率。
- 排障工具链:熟练使用
cilium monitor、hubble observe、tcpdump以及 Cilium 的 Prometheus 指标进行根因分析。 - 最佳实践:掌握多集群镜像拉取场景下的网络策略设计模式,避免常见的策略冲突与性能陷阱。
1.4 前置知识
为获得最佳学习效果,建议学员具备以下基础:
| 知识领域 | 具体要求 | 推荐学习资源 |
|---|---|---|
| Kubernetes 基础 | 理解 Pod、Service、Namespace、NetworkPolicy 核心概念 | K8s 官方文档 "Concepts" 章节 |
| 容器网络基础 | 了解 CNI 原理、Overlay 网络(VXLAN/Geneve)、iptables 与 eBPF 基本区别 | Cilium 官方 "BPF and XDP Reference Guide" |
| Cilium 入门 | 完成 Cilium 快速安装,了解 CiliumNetworkPolicy 与 ClusterMesh 基本概念 | Cilium 官方 "Getting Started" 教程 |
| 多集群架构 | 了解多集群 Service 发现(Global Service)、集群间网络连通性要求 | Cilium ClusterMesh 文档 |
注意: 本课程不涉及镜像仓库本身的搭建与配置(如 Harbor、Docker Registry 的存储与认证),也不涵盖 Kubernetes 集群的安装部署。所有排障场景均假设学员已拥有至少两个可正常运行的 Cilium 集群。
本课程将按照“前置知识 → 核心排障 → 优化实践”的路径展开,每个模块均包含真实案例与可复现的排障步骤。学员完成课程后,应能独立应对多集群环境下 90% 以上的镜像拉取网络故障。