Skip to main content
RunBook Academy

KubernetesC · Multi-Cluster ConceptsMulti-cluster

Multi-cluster anti-patterns — the most common mistakes

Advanced⏱ ~16 minkubectl

What you'll learn

  • Identify the most common multi-cluster anti-patterns
  • Explain why each anti-pattern is a problem
  • Apply the fixes for each anti-pattern
  • Build the operational discipline of avoiding multi-cluster anti-patterns

Prerequisites

Verified against Kubernetes 1.34.x · kubeadm 1.34.x · kubectl 1.34.x · etcd 3.6.x · CoreDNS 1.11.x · containerd 1.7.x / 2.x · 2026-08-16

Not yet marked complete on this device.

Multi-cluster anti-patterns are the most common mistakes that Kubernetes operators make when scaling beyond a single cluster. This lesson walks the anti-patterns, the fixes, and the operational discipline of avoiding them.

Anti-pattern 1: Clusters as tenants

flowchart LR
    A[Team A] --> B[Cluster A]
    C[Team B] --> D[Cluster B]
    E[Team C] --> F[Cluster C]

Each team gets its own cluster. The intent is isolation; the result is operational explosion — 10 teams, 10 clusters to upgrade, monitor, secure.

The fix is to use namespaces within a single cluster:

flowchart LR
    A[Team A] --> B[Namespace A in cluster 1]
    C[Team B] --> D[Namespace B in cluster 1]
    E[Team C] --> F[Namespace C in cluster 1]

Namespaces with NetworkPolicy, ResourceQuota, LimitRange, and RBAC provide the same isolation as separate clusters, at much lower operational cost. Reserve multi-cluster for actual multi-cluster drivers (DR, geography, compliance, scale).

Anti-pattern 2: Cluster-per-app

flowchart LR
    A[App A] --> B[Cluster A]
    C[App B] --> D[Cluster B]
    E[App C] --> F[Cluster C]
    G[App D] --> H[Cluster D]

Each application gets its own cluster. The intent is isolation; the result is dozens of clusters with the same configuration, the same upgrade cycle, and no shared capacity.

The fix is to consolidate: one cluster per environment (dev, staging, prod) with namespaces per app. Capacity is shared; isolation is per-namespace; operational cost is linear with the number of environments, not with the number of apps.

Anti-pattern 3: Premature active-active

flowchart LR
    A["Cluster A: primary"] -->|synchronous replication| B["Cluster B: secondary"]
    A -->|global LB| C[Users]
    B -->|global LB| C

Active-active with synchronous data replication is the most expensive multi-cluster topology. Most workloads do not justify it. The cost is double the infrastructure; the benefit is sub-minute RTO that most businesses do not need.

The fix is to start with primary-secondary (Tier 5) or even hot site (Tier 4) and only escalate to active-active if the business commits to sub-minute RTO.

Anti-pattern 4: Inconsistent policies

flowchart LR
    A["Cluster A: PSS restricted"] --> B[Workloads A]
    C["Cluster B: PSS baseline"] --> D[Workloads B]
    E["Cluster C: no PSS"] --> F[Workloads C]

Different clusters have different policies. Cluster A enforces restricted PSS; cluster B enforces baseline; cluster C has no PSS. The compliance gap is large: workloads in cluster C are not subject to the same security controls.

The fix is a fleet-wide policy framework: a single source of truth (e.g., Tanzu policies, Rancher projects) that enforces consistent PSS, NetworkPolicy, ResourceQuota, and RBAC across clusters.

Anti-pattern 5: Missing cross-cluster networking

flowchart LR
    A["Cluster A: pod 10.0.1.5"] -->|cannot reach| X["Cluster B: pod 10.0.2.5"]

A multi-cluster deployment without Submariner, service mesh federation, or VPC peering is a set of islands. Workloads in cluster A cannot reach workloads in cluster B; the multi-cluster value is lost.

The fix is to design cross-cluster connectivity explicitly: VPC peering for L3, Submariner for Pod-to-Pod, or service mesh federation for unified identity.

Anti-pattern 6: Missing cross-cluster observability

flowchart LR
    A[Cluster A metrics] --> B[Prometheus A]
    C[Cluster B metrics] --> D[Prometheus B]
    E[Cluster C metrics] --> F[Prometheus C]
    B -.->|no federation| X[Central visibility]
    D -.->|no federation| X
    F -.->|no federation| X

Each cluster has its own Prometheus; there is no federation. The operator cannot answer “is the fleet healthy?” because each cluster’s metrics are siloed.

The fix is cross-cluster observability: Thanos for metric aggregation, Loki for log aggregation, or a SaaS observability platform that ingests from every cluster.

The operational discipline

The multi-cluster anti-patterns’ operational discipline:

  • Audit the cluster count. If the cluster count exceeds the drivers, consolidate.
  • Audit the policies. Compare PSS, NetworkPolicy, and RBAC across clusters; gaps are compliance risks.
  • Audit cross-cluster networking. Verify the tunnels, mesh identities, and route tables are functional.
  • Audit cross-cluster observability. Verify metrics, logs, and traces are aggregated across clusters.
  • Document the topology. The architecture diagram must show every cluster, every connection, every policy, and every observability path.

Quiz

Knowledge check · 4 questions

  1. Q1. What is the most common multi-cluster anti-pattern?

  2. Q2. Inconsistent policies across clusters (different PSS levels, different RBAC models) are a compliance gap that must be addressed with a fleet-wide policy framework.

  3. Q3. An organisation has 15 clusters, one per team. The team owners want to upgrade to a new Kubernetes version. The upgrade is taking months. Diagnosis and fix?

    The organisation has 15 clusters, one per team. Each cluster has its own upgrade cadence, its own add-ons, its own monitoring. The team owners want to upgrade to K8s 1.34. The upgrade is taking 6 months because each cluster must be planned, tested, and rolled out independently.

  4. Q4. Name three multi-cluster anti-patterns and the fix for each.

Passing score: 75%. Answers are checked in this browser.

Production discipline

  • Audit the cluster count. If the cluster count exceeds the drivers, consolidate.
  • Audit the policies. Compare PSS, NetworkPolicy, and RBAC across clusters; gaps are compliance risks.
  • Audit cross-cluster networking. Verify the tunnels, mesh identities, and route tables are functional.
  • Audit cross-cluster observability. Verify metrics, logs, and traces are aggregated across clusters.
  • Document the topology. The architecture diagram must show every cluster, every connection, every policy, and every observability path.
  • Review quarterly. Multi-cluster topologies drift; the review catches the drift.

Multi-cluster is a tool. The discipline is to use it only when the driver justifies the complexity, and to audit the topology regularly to ensure it still serves the drivers.