4. 多集群部署模式:主-远程模式、多主模式、外部控制平面模式

在 Istio 多集群架构中,控制平面与数据平面的部署关系决定了集群间的流量管理、安全隔离与运维复杂度。根据控制平面实例的数量、位置以及数据平面集群的注册方式,Istio 支持三种核心部署模式:主-远程模式、多主模式和外部控制平面模式。每种模式在资源开销、故障隔离、网络要求和管理边界上存在显著差异。

4.1 主-远程模式(Primary-Remote)

主-远程模式是最基础的多集群部署形态。一个集群作为主集群(Primary)运行完整的 Istio 控制平面(istiod、Ingress/Egress Gateway),其他集群作为远程集群(Remote)仅运行数据平面组件(Sidecar、Gateway),并通过 API Server 对接向主集群注册。

核心特征:控制平面单点部署,远程集群不运行 istiod,所有配置发现与证书签发由主集群统一管理。

架构示意

主-远程模式架构 主集群(Primary) istiod Sidecar / Gateway API Server 远程集群(Remote) Sidecar / Gateway API Server 无 istiod 实例 API Server 对接 说明:远程集群通过暴露的 API Server 地址向主集群注册。 istiod 通过远程集群的 API Server 推送 xDS 配置与证书。

适用场景

  • 中心化运维:团队希望在一个集群内统一管理所有集群的配置与证书,降低运维复杂度。
  • 边缘集群轻量化:远程集群资源受限(如边缘节点、小型工作负载),不希望运行完整的 istiod。
  • 渐进式迁移:从单集群向多集群演进时,先以主-远程模式快速接入新集群。
注意事项:主集群故障会导致所有远程集群的控制面中断;远程集群与主集群之间需要稳定的 API Server 网络连通性。

4.2 多主模式(Multi-Primary)

多主模式下,每个集群都运行独立的 istiod 实例,形成对等的控制平面。集群之间通过东西向网关或直接 API Server 互访实现服务发现与 mTLS 通信。每个集群拥有自治的控制面,不依赖其他集群的可用性。

核心特征:每个集群都是主集群,控制平面完全对等;通过 Istio 的 MeshNetworking 或 ServiceEntry 实现跨集群服务发现。

架构示意

多主模式架构 集群 1(Primary) istiod-1 Sidecar API Server 集群 2(Primary) istiod-2 Sidecar API Server 东西向网关 东西向网关 mTLS 隧道

适用场景

  • 高可用要求:单个集群故障不影响其他集群的控制面,业务可继续跨集群通信。
  • 独立运维域:不同集群由不同团队管理,每个团队需要完全的控制面自治权。
  • 跨地域部署:集群分布在不同 Region,网络延迟较高,需要本地 istiod 就近处理配置推送。
最佳实践:多主模式推荐使用东西向网关(East-West Gateway)暴露集群服务,避免直接暴露 API Server。配置共享根 CA 以支持跨集群 mTLS。

4.3 外部控制平面模式(External Control Plane)

外部控制平面模式将 istiod 部署在独立的管理集群中,数据平面集群仅运行 Sidecar 和 Gateway,不运行任何控制平面组件。管理集群通过远程 API Server 访问向数据平面集群推送配置。该模式是主-远程模式的变体,但控制平面完全与数据平面集群网络隔离。

核心特征:控制平面集群与数据平面集群完全分离;数据平面集群无需运行 istiod,甚至无需运行 Istio Operator。

架构示意

外部控制平面模式架构 管理集群(Control Plane) istiod API Server 数据平面集群 1 Sidecar API Server 数据平面集群 2 Sidecar API Server 远程 API Server 访问 远程 API Server 访问

适用场景

  • 安全隔离:数据平面集群不允许运行控制平面组件,满足严格的安全合规要求。
  • 集中管理:多个数据平面集群共享同一个控制平面,降低运维成本。
  • 混合云/多云:管理集群部署在私有云,数据平面集群分布在公有云或边缘,控制面不暴露在公网。
注意事项:管理集群必须能够访问所有数据平面集群的 API Server;网络延迟和故障转移策略需要额外设计;证书分发依赖管理集群的可用性。

4.4 三种模式对比

对比维度 主-远程模式 多主模式 外部控制平面模式
控制平面数量 1 个(主集群) N 个(每个集群) 1 个(管理集群)
数据平面集群是否运行 istiod 否 是 否
控制平面故障影响 所有远程集群中断 仅影响本集群 所有数据平面集群中断
网络要求 主集群与远程集群 API Server 互通 集群间东西向网关或 API Server 互通 管理集群与所有数据平面集群 API Server 互通
运维复杂度 低 中 中高
推荐场景 边缘集群、渐进式迁移 高可用、跨地域、独立运维 安全隔离、集中管理、混合云

4.5 模式选择决策流程

  1. 是否需要控制平面高可用?
    • 是 → 考虑多主模式或外部控制平面模式(需额外设计高可用)。
    • 否 → 主-远程模式即可满足。
  2. 数据平面集群是否允许运行控制平面组件?
    • 是 → 多主模式或主-远程模式。
    • 否 → 外部控制平面模式。
  3. 是否需要集中管理所有集群的配置?
    • 是 → 主-远程模式或外部控制平面模式。
    • 否 → 多主模式(每个集群自治)。
  4. 集群间网络延迟是否较高?
    • 是 → 多主模式(本地 istiod 就近推送)。
    • 否 → 主-远程模式或外部控制平面模式均可。
生产建议:对于大多数生产环境,推荐从主-远程模式起步,随着规模增长逐步演进到多主模式。外部控制平面模式更适合安全敏感或混合云场景,但需要额外投入网络与高可用设计。