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
| Camada | Tool | Função |
|---|---|---|
| Data plane | Cilium ClusterMesh | Service discovery cross-cluster + endpoint slicing + failover ms-level |
| Control plane | ArgoCD ApplicationSet | Propagação declarativa de apps em N clusters |
| Batch (futuro) | MultiKueue | Filas 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
- Camada 6 (Cilium): /camadas/6-k8s-networking/
- Camada 7 (ArgoCD): /camadas/7-gitops/
- ADR-004: Karmada deferido