4、多集群环境概述:Kubernetes多集群架构模式(Hub-Spoke、Federation、Cluster API)

在镜像供应链安全巡检场景中,单一集群往往无法覆盖企业级交付链路。多集群架构的选择直接决定了安全策略的传播方式、镜像签名的验证路径以及凭证管理的复杂度。本节从三种主流多集群模式出发,分析其拓扑结构、适用场景及安全运维特征。

4.1 多集群架构的核心驱动力

企业采用多集群的原因通常包括:

  • 环境隔离:开发、测试、生产集群分离,防止镜像误推或配置泄漏。
  • 地理分布:降低镜像拉取延迟,满足数据主权合规要求。
  • 故障域隔离:单个集群故障不影响全局交付流水线。
  • 租户隔离:多团队共享基础设施时,通过独立集群实现安全边界。
安全视角提示: 多集群架构并非天然安全。镜像签名验证、策略分发、凭证同步等环节若未统一治理,反而会扩大攻击面。选择架构模式时,需同步规划跨集群的 Sigstore 信任锚点。

4.2 三种主流多集群架构模式对比

架构模式 控制面关系 典型工具 安全策略传播 镜像供应链适用场景
Hub-Spoke 中心控制面管理多个工作集群 Open Cluster Management (OCM)、Rancher 中心下发,Spoke 被动接收 统一镜像仓库访问控制、全局签名策略下发
Federation 多个控制面对等同步 KubeFed (Kubernetes Federation v2) 双向同步,需处理冲突 跨集群镜像资源模板化部署,签名策略需协调
Cluster API 声明式集群生命周期管理 Cluster API (CAPI) + Provider 通过 Bootstrap 和 ControlPlane 模板注入 集群创建时预置 Sigstore 组件和信任证书

4.3 Hub-Spoke 架构模式

Hub-Spoke 是目前生产环境最广泛采用的多集群模式。一个中心集群(Hub)通过 API 聚合的方式管理多个工作集群(Spoke)。Hub 不运行用户工作负载,仅负责策略下发、资源分发和状态收集。

  • 拓扑特征:Hub 集群持有所有 Spoke 集群的 kubeconfig 凭证;Spoke 集群之间通常不直接通信。
  • 安全优势:镜像签名验证策略(如 Kyverno ClusterPolicy)可在 Hub 上定义,通过 ManifestWork 分发到所有 Spoke;Hub 可集中审计镜像拉取日志。
  • 安全风险:Hub 集群成为单点攻击目标;若 Hub 被攻陷,所有 Spoke 集群的凭证和策略均可能被篡改。
镜像供应链实践: 在 Hub 集群部署 Sigstore Policy Controller,通过 OCM 的 Placement 规则将策略绑定到指定 Spoke 集群的命名空间。Spoke 集群无需额外安装验证组件,仅需信任 Hub 下发的公钥。
Hub-Spoke 多集群架构 Hub 集群 策略下发 · 凭证管理 · 审计 Spoke 集群 A 生产环境 Spoke 集群 B 预发环境 Spoke 集群 C 开发环境 安全要点: Hub 集群需启用 Sigstore 透明日志(Rekor)和 OIDC 身份认证,确保下发的签名策略可追溯。 Spoke 集群之间不互信,镜像拉取凭证由 Hub 统一轮换。

4.4 Federation 架构模式

Federation 模式通过 KubeFed 实现跨集群资源同步。与 Hub-Spoke 不同,Federation 的控制面是对等的:每个集群都运行 Federation 组件,通过 API 同步资源模板和覆盖策略。

  • 拓扑特征:所有集群处于平等地位;资源通过 FederatedDeployment、FederatedConfigMap 等 CRD 定义。
  • 安全优势:无中心单点;镜像签名策略可定义为 FederatedClusterPolicy,自动同步到所有成员集群。
  • 安全风险:策略冲突处理复杂;若某个集群被攻陷,恶意策略可能反向同步到其他集群。
镜像供应链避坑: Federation 模式下,Sigstore 的信任根(Root of Trust)必须在所有集群间保持一致。建议使用外部密钥管理服务(KMS)统一签发和轮换密钥,避免因集群间时间偏差导致签名验证失败。

4.5 Cluster API 架构模式

Cluster API(CAPI)是 Kubernetes SIG 推出的声明式集群生命周期管理工具。它通过 Cluster、Machine、MachineDeployment 等 CRD 定义集群的期望状态,由 Provider(如 AWS、vSphere、OpenStack)负责实际创建。

  • 拓扑特征:管理集群(Management Cluster)运行 CAPI Controller;工作集群(Workload Cluster)由管理集群声明式创建和升级。
  • 安全优势:可在集群创建时通过 Bootstrap 模板注入 Sigstore 组件和信任证书,实现“安全左移”。
  • 安全风险:管理集群的凭证权限极高;若管理集群被攻陷,攻击者可创建带有后门镜像的集群。
安全水位巡检集成: 在 Cluster API 的 Bootstrap 阶段,使用 KubeadmConfigTemplate 的 preKubeadmCommands 安装 cosign 和 policy-controller,并将 Rekor 公钥写入 /etc/sigstore/。这样每个新建集群自动具备镜像签名验证能力。
Cluster API 声明式集群创建与安全注入 管理集群 CAPI Controller 工作集群 A Bootstrap 注入 Sigstore 工作集群 B Bootstrap 注入 Sigstore 工作集群 C Bootstrap 注入 Sigstore 安全注入流程: 1. 管理集群创建 Cluster 和 MachineDeployment 对象 → 2. Bootstrap Provider 执行 preKubeadmCommands → 3. 安装 cosign + policy-controller + 信任公钥 → 4. 工作集群启动后自动验证镜像签名。

4.6 架构模式选择建议

针对镜像供应链安全水位巡检场景,三种模式的选择建议如下:

场景特征 推荐模式 理由
已有中心化运维团队,集群数量 10+ Hub-Spoke 策略集中下发,审计日志统一收集,适合 Sigstore Policy Controller 全局部署
多团队自治,集群规模中等(3-8) Federation 资源模板化同步,各团队可保留本地策略覆盖,但需协调信任根
基础设施即代码,集群频繁创建/销毁 Cluster API 声明式安全注入,集群创建即具备签名验证能力,适合 GitOps 流水线
混合模式(部分固定集群 + 部分弹性集群) Hub-Spoke + Cluster API Hub 管理固定集群,CAPI 管理弹性集群,统一通过 Hub 下发安全策略