1. ClusterMesh 概述:定义、核心价值与多集群管理场景

1.1 ClusterMesh 的定义

ClusterMesh 是 Cilium 原生的多集群网络与安全组件,它通过将多个 Kubernetes 集群的 服务网络 和 安全策略 透明地互联,使跨集群的 Pod 通信如同在同一个集群内进行。ClusterMesh 不依赖网关或 Sidecar 代理,而是基于 eBPF 技术在内核层面直接转发跨集群流量,同时保持完整的网络策略审计能力。

核心定位:ClusterMesh 是 Cilium 多集群场景的“网络平面 + 安全平面”,而非独立的产品。它利用 Kubernetes 标准 CRD(CiliumNetworkPolicy、CiliumClusterwideNetworkPolicy)实现跨集群的零信任网络。

1.2 核心价值

价值维度 说明 关键指标
原生性能 基于 eBPF 直接转发,无 Sidecar 代理,延迟接近本地通信 P99 延迟 < 1ms(同区域)
统一安全模型 跨集群使用同一套 CiliumNetworkPolicy,无需为每个集群单独配置 策略生效时间 < 100ms
透明服务发现 自动同步跨集群 Service Endpoints,无需手动维护 DNS 或 ServiceEntry 同步延迟 < 5s
可观测性 Hubble 提供跨集群的流量拓扑、策略审计和事件追踪 覆盖所有跨集群流量的 100%
零信任架构 默认拒绝所有跨集群流量,仅允许显式策略授权的通信 策略覆盖率 100%

1.3 ClusterMesh 与 Istio / ASM 的关系

ClusterMesh 与 Istio(及阿里云 ASM)在定位上存在显著差异,但可以互补使用。下表从关键维度进行对比:

对比维度 ClusterMesh Istio / ASM
数据平面 eBPF 内核态转发,无 Sidecar Envoy Sidecar 代理(用户态)
多集群互联 直接 Pod IP 路由,无需网关 需 Istio Gateway / East-West Gateway
安全策略 基于 L3/L4/L7 的 CiliumNetworkPolicy 基于 AuthorizationPolicy / PeerAuthentication
可观测性 Hubble(eBPF 原生) Kiali + Prometheus + Jaeger
变更门禁 支持策略变更审计、准入控制(ValidatingAdmissionPolicy) 需额外集成 OPA / Kyverno
适用场景 高性能、低延迟、安全合规要求高的多集群 微服务治理、灰度发布、熔断限流
最佳实践:在生产环境中,ClusterMesh 可作为“网络与安全基座”,Istio 作为“服务治理层”叠加使用。ClusterMesh 负责跨集群的零信任网络策略和审计,Istio 负责流量管理和可观测性增强。

1.4 多集群管理场景

ClusterMesh 覆盖以下典型多集群管理场景:

  • 地理冗余与灾备:主集群故障时,流量自动切换到备用集群,策略一致性由 ClusterMesh 保证。
  • 环境隔离与合规:开发/测试/生产集群间通过策略严格隔离,仅允许特定服务跨集群调用。
  • 混合云与边缘:公有云集群与私有云/边缘集群互联,统一安全策略和审计日志。
  • 多租户 SaaS:每个租户独立集群,ClusterMesh 提供跨集群的服务发现和策略隔离。
  • 变更门禁与审计:所有跨集群策略变更需经过准入控制、审计日志记录和权限校验。
ClusterMesh 多集群架构总览 ClusterMesh 多集群架构总览 Kubernetes 集群 A Cilium Agent (eBPF) Pod: app-v1 (10.0.1.5) Pod: db-v1 (10.0.1.6) CiliumNetworkPolicy etcd (集群状态) Kubernetes 集群 B Cilium Agent (eBPF) Pod: app-v2 (10.0.2.5) Pod: cache-v1 (10.0.2.6) CiliumNetworkPolicy etcd (集群状态) ClusterMesh 隧道 (eBPF 直接转发) 策略同步与审计 CiliumClusterwideNetworkPolicy 跨集群生效 | Hubble 审计日志 | 变更门禁准入控制 核心组件 Cilium Agent(每个节点)→ 维护 eBPF 程序与策略 ClusterMesh APIServer(每个集群)→ 同步服务与策略元数据 Hubble Relay → 聚合跨集群可观测性数据

1.5 变更门禁与权限审计的定位

在本课程中,ClusterMesh 的 变更门禁 指对跨集群网络策略、服务暴露、端点变更等操作进行准入控制与审批;权限审计 指记录所有跨集群策略变更的请求者、时间、内容及审批结果,形成不可篡改的审计链。这两者共同构成多集群安全治理的基石。

注意:ClusterMesh 本身不提供内置的 RBAC 审批工作流,但可以通过 Kubernetes ValidatingAdmissionPolicy、OPA Gatekeeper 或外部审计系统(如 AuditLog + SIEM)实现。本课程将重点讲解如何基于 ClusterMesh + CiliumNetworkPolicy 构建完整的变更门禁与审计体系。
ClusterMesh 变更门禁与审计流程 ClusterMesh 变更门禁与审计流程 用户 / CI 系统 K8s API Server ValidatingAdmissionPolicy 策略引擎 (OPA/Kyverno) 审计日志 (Hubble) 流程说明 ① 用户提交 CiliumNetworkPolicy → ② API Server 触发准入控制 → ③ 策略引擎校验权限与合规性 ④ 通过后写入 etcd 并同步到 ClusterMesh → ⑤ Hubble 记录完整审计日志(请求者、时间、策略内容)