1. 课程导论:多集群 K8s 架构概述、镜像供应链安全挑战、容量瓶颈问题定义

1.1 多集群 Kubernetes 架构概述

现代企业级云原生基础设施已从单集群演进为多集群架构。多集群部署通常基于以下驱动因素:

  • 地理分布与延迟优化:将工作负载部署在靠近用户的多个区域集群中。
  • 环境隔离与合规:开发、预发、生产环境使用独立集群,满足监管要求。
  • 故障域隔离:避免单集群故障导致全局服务中断。
  • 资源规模与配额:突破单集群节点上限(通常 5000 节点),实现弹性扩展。

典型的多集群架构包含以下核心组件:

组件 职责 常见实现
控制面集群 统一策略下发、资源调度、安全审计 Karmada / Clusternet / OCM
工作集群 运行实际业务负载,每个集群独立 etcd 与 API Server 自建 K8s / EKS / AKS / GKE
镜像仓库 存储与分发容器镜像,多集群共享或区域级部署 Harbor / ECR / ACR / GCR
CI/CD 管道 构建、扫描、签名、部署镜像 GitLab CI / Jenkins / Argo Workflows
策略引擎 执行安全策略与合规检查 OPA / Kyverno / Ratify
关键认知: 多集群不是简单的 K8s 副本叠加,而是引入了跨集群网络、统一身份、镜像同步、策略分发等新维度。镜像供应链安全与容量瓶颈问题在这些维度上被显著放大。
多集群 Kubernetes 架构总览 多集群 Kubernetes 架构总览 控制面集群 工作集群 A (生产-区域1) 工作集群 B (生产-区域2) 工作集群 C (开发/测试) 镜像仓库 (Harbor) CI/CD 管道 多集群统一策略下发与镜像分发

1.2 镜像供应链安全挑战

在多集群环境中,镜像供应链的攻击面显著扩大。每个环节都可能成为安全短板:

  1. 构建阶段:基础镜像漏洞、依赖库投毒、构建环境被篡改。
  2. 存储阶段:镜像仓库未加密、访问控制薄弱、镜像被篡改或替换。
  3. 分发阶段:跨集群镜像同步未校验完整性、中间人攻击、镜像拉取凭证泄露。
  4. 部署阶段:运行未知来源镜像、未执行签名验证、策略检查缺失。
  5. 运行时阶段:镜像内组件存在已知漏洞、恶意进程逃逸、容器逃逸。
安全水位巡检核心关注点: 镜像签名覆盖率、漏洞扫描通过率、基础镜像版本新鲜度、非 root 用户运行比例、镜像拉取凭证轮转周期。多集群场景下,这些指标必须按集群维度分别统计,不能仅看全局平均值。
安全维度 单集群风险 多集群放大效应
镜像签名 未签名镜像可被部署 不同集群签名策略不一致,部分集群成为突破口
漏洞扫描 扫描频率低导致漏洞窗口期长 跨集群镜像同步延迟导致漏洞镜像在部分集群持续运行
凭证管理 镜像拉取 Secret 泄露 多集群共享凭证,泄露面扩大;轮转不同步
供应链完整性 镜像被篡改难以追溯 跨集群分发链路长,篡改检测点缺失
镜像供应链安全威胁模型 镜像供应链安全威胁模型 构建阶段 存储阶段 分发阶段 部署阶段 运行时 基础镜像漏洞 依赖投毒 构建环境篡改 仓库未加密 访问控制薄弱 镜像篡改 同步未校验 中间人攻击 凭证泄露 未知来源镜像 签名验证缺失 策略检查缺失 已知漏洞 恶意进程 容器逃逸 多集群放大效应:任一环节失守 → 全局风险

1.3 容量瓶颈问题定义

在多集群镜像供应链中,容量瓶颈不仅指存储空间不足,而是涵盖以下四个维度:

  • 镜像仓库存储容量:镜像层数据累积、GC 策略失效、跨集群镜像冗余。
  • 网络带宽与拉取并发:大规模滚动更新时镜像拉取带宽耗尽,导致 Pod 启动延迟。
  • 镜像同步管道吞吐:跨区域同步队列积压,镜像版本滞后。
  • 安全扫描与签名性能:扫描任务堆积,签名验证成为部署瓶颈。
巡检切入点: 通过 Prometheus + Grafana 监控镜像仓库 API 延迟、拉取速率、存储增长率;结合 K8s 事件审计定位拉取失败 Pod 的根因是凭证问题、镜像不存在还是仓库限流。
瓶颈维度 典型指标 多集群影响
存储容量 仓库使用率 > 80%、GC 失败次数 单仓库故障导致所有集群镜像拉取失败
网络带宽 镜像拉取平均延迟 > 30s、带宽利用率 > 90% 跨区域拉取加剧延迟,Pod 启动时间不可控
同步管道 同步队列深度 > 100、同步延迟 > 5min 部分集群运行旧版本镜像,安全补丁滞后
扫描性能 扫描任务排队时间 > 10min、扫描超时率 > 5% 新镜像无法及时获得安全准入,阻塞部署