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 组件:

  1. 节点级 eBPF 程序:在 XDP 或 TC 挂载点拦截出站流量,执行策略匹配。
  2. Cilium Agent:维护 Endpoint 与 Identity,决定流量是否被允许。
  3. CiliumNetworkPolicy:基于标签的 L3/L7 策略,可能限制出口流量到特定 CIDR 或 FQDN。
  4. ClusterMesh:跨集群 Service 暴露时,镜像仓库可能通过 Global Service 访问,涉及隧道封装与策略同步。
Cilium 在多集群镜像拉取路径中的角色 Pod eBPF 策略引擎 Cilium Agent ClusterMesh 镜像仓库 说明: 镜像拉取流量从 Pod 出发,依次经过 eBPF 策略引擎、Cilium Agent 策略决策、 以及 ClusterMesh 跨集群隧道,最终到达镜像仓库。任一环节的策略或路由错误都可能导致拉取失败。
排障提示: 当镜像拉取失败时,优先检查 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 集群。
课程知识体系与学习路径 前置知识 核心排障模块 优化与最佳实践 K8s 网络基础 Cilium 策略模型 ClusterMesh 原理 镜像拉取超时诊断 策略阻断排查 DNS 与隧道问题 策略规则精简 eBPF 参数调优 可观测性集成

本课程将按照“前置知识 → 核心排障 → 优化实践”的路径展开,每个模块均包含真实案例与可复现的排障步骤。学员完成课程后,应能独立应对多集群环境下 90% 以上的镜像拉取网络故障。