3、多集群架构概述:Hub-Spoke、Federation、Cluster API 等主流多集群管理模式对比
在云原生环境下,单一 Kubernetes 集群无法满足跨区域部署、环境隔离、故障域分散及合规管控等需求。多集群管理已成为企业级 Operator 发布与 OPA 策略治理的基础设施前提。本章聚焦三种主流多集群架构模式:Hub-Spoke(中心辐射)、Federation(联邦) 与 Cluster API(声明式集群生命周期管理),从控制模型、策略分发效率、运维复杂度及 OPA 集成适配性四个维度进行对比。
3.1 三种架构的核心概念与适用场景
| 架构模式 | 核心思想 | 控制流方向 | 典型工具/项目 | 适用场景 |
|---|---|---|---|---|
| Hub-Spoke | 中心 Hub 集群统一管控多个 Spoke 工作集群;策略/配置从 Hub 推送到 Spoke | 单向(Hub → Spoke) | Open Cluster Management (OCM)、Karmada、Rancher | 大规模生产集群统一运维、合规策略集中下发、跨集群资源分发 |
| Federation | 通过 Federation 控制平面将资源同步到多个成员集群,保持最终一致 | 双向同步(控制平面 ↔ 成员集群) | KubeFed (Kubernetes Federation v2) | 跨集群应用迁移、多区域服务发现、需要强一致资源模板的场景 |
| Cluster API | 以声明式 API 管理集群的创建、升级、扩缩容与销毁;基础设施即代码 | 声明式(用户 → Management Cluster → Workload Cluster) | Cluster API (CAPI) + 各种 Infrastructure Providers | 动态集群生命周期管理、混合云/多云集群自服务、GitOps 驱动的基础设施 |
3.2 Hub-Spoke 架构详解
Hub-Spoke 是目前生产环境最广泛采用的多集群管理模式。其核心设计是:一个中心集群(Hub) 负责策略定义、资源分发与状态聚合;多个工作集群(Spoke) 仅运行业务负载,不直接暴露控制面给用户。Hub 通过 Work API 或 ManifestWork 将资源对象推送到 Spoke,并通过 Status API 回捞状态。
- 策略管控面与业务面完全分离,Hub 故障不影响 Spoke 已有负载运行。
- 天然适配 OPA 策略的“推模式”:Hub 侧 OPA 审计结果可统一写入 Spoke 的合规报告。
- Spoke 集群无需安装额外 Operator,降低运维面。
3.3 Federation 架构详解
Kubernetes Federation v2(KubeFed)通过 Federation 控制平面 将资源模板(Template)、放置策略(Placement)与覆盖策略(Overrides)同步到多个成员集群。与 Hub-Spoke 的“推送”不同,Federation 采用 最终一致性同步模型:控制平面将资源写入成员集群的 API Server,成员集群的控制器再将其 reconcile 到实际状态。
3.4 Cluster API 架构详解
Cluster API(CAPI)将 Kubernetes 集群本身视为声明式资源。用户通过 Management Cluster 定义 Cluster、MachineDeployment、Machine 等 CRD,由对应的 Infrastructure Provider(如 AWS、vSphere、Azure)与 Bootstrap Provider(如 Kubeadm)驱动集群的实际创建与销毁。
ClusterResourceSet 或 ConfigMap 注入 OPA Gatekeeper 的安装 Manifest 与初始约束模板。这样每个新创建的 Workload Cluster 在启动时即具备合规策略,无需事后手动部署。
3.5 三种架构的 OPA 策略适配性对比
| 对比维度 | Hub-Spoke | Federation | Cluster API |
|---|---|---|---|
| 策略分发模型 | Hub 主动推送(Push) | 控制平面同步(Sync) | Bootstrap 注入 + 事后 GitOps |
| 策略一致性保障 | 高(Hub 控制所有 Spoke) | 中(最终一致性,有延迟窗口) | 高(集群创建时即固化) |
| OPA 部署位置 | Hub 侧集中管控 + Spoke 侧本地执行 | 每个成员集群独立部署 | Management Cluster 可选 + Workload Cluster 必装 |
| 策略更新效率 | 实时推送,秒级生效 | 依赖同步周期(通常 30s-5min) | 需更新 ClusterResourceSet 或重新 Bootstrap |
| 合规审计聚合 | Hub 统一聚合 Status API | 需额外开发聚合层 | 需结合外部工具(如 Velero + OPA) |
| 运维复杂度 | 低(Hub 单点管控) | 中(控制平面高可用要求高) | 高(需管理 Infrastructure Provider) |
3.6 选型建议
- 优先选择 Hub-Spoke:如果你的核心诉求是 OPA 策略集中管控 + 多集群 Operator 合规发布,且已有稳定的大规模集群环境。本课程后续章节将基于 Hub-Spoke 架构(以 OCM 为例)展开 OPA 集成实践。
- 考虑 Federation:当需要跨集群应用迁移、多区域服务发现且对策略实时性要求不高时,Federation 的最终一致性模型可以接受。
- 考虑 Cluster API:当基础设施需要动态创建/销毁集群(如 CI/CD 环境、开发测试集群池),且希望将 OPA 策略作为集群“出厂设置”的一部分时,CAPI 是最佳选择。