Skip to content

Camada 8 — Multi-cluster federation

Esta camada cobre integração entre clusters K8s: service discovery cross-cluster, propagação de manifests, policies que atravessam clusters.

Decisão estratégica

CPPS adota Cilium ClusterMesh + ArgoCD ApplicationSet como caminho principal. Karmada está deferido — só vale pra escala 5+ clusters ou scheduling dinâmico real.

Componentes

CamadaToolFunção
Data planeCilium ClusterMeshService discovery cross-cluster + endpoint slicing + failover ms-level
Control planeArgoCD ApplicationSetPropagação declarativa de apps em N clusters
Batch (futuro)MultiKueueFilas batch GPU cross-cluster (não exige Cilium)

O que cada um cobre

Cluster Franca Cluster SP
├─ apps/franca/ ├─ apps/sp/
│ └─ ArgoCD Franca reconcilia │ └─ ArgoCD SP reconcilia
│ │
├─ apps/multi/ ├─ apps/multi/
│ └─ ApplicationSet propaga em ambos os clusters
└─ ClusterMesh ←──── etcd-mesh ────→ ClusterMesh
(service discovery cross-cluster)

Assimetria SP/Franca (cluster GPU)

  • SP cluster GPU (gpu-sp-01): LXC + flannel, fora do ClusterMesh — comunicação cross-cluster via Traefik HTTP
  • Franca cluster GPU (futuro): VM + Cilium, pode entrar no ClusterMesh

Não é bug — é herança de hardware (ADR-009).

Estado atual

  • ❌ Cilium ClusterMesh SP↔Franca (pré-req: Cilium nos 2 lados)
  • ❌ ArgoCD ApplicationSet (pré-req: ArgoCD SP em produção)
  • 🚫 Karmada (deferido — ADR-004)

Referência cruzada