ScriptsApr 15, 2026·3 min read

Karmada — Multi-Cloud & Multi-Cluster Kubernetes Orchestration

CNCF-incubated control plane that turns a fleet of Kubernetes clusters into a single addressable API surface.

TL;DR
Karmada turns a fleet of Kubernetes clusters into a single addressable API surface for multi-cloud workloads.
§01

What it is

Karmada (Kubernetes Armada) is a CNCF-incubated project that provides a control plane for managing workloads across multiple Kubernetes clusters. It extends the Kubernetes API so you can deploy and manage applications across clouds using familiar kubectl commands.

Karmada targets platform teams running Kubernetes in multiple clouds or regions who need a unified control plane for workload distribution, failover, and resource scheduling.

§02

How it saves time or tokens

Without Karmada, managing workloads across multiple clusters requires per-cluster kubectl contexts, separate deployments, and manual failover scripts. Karmada provides a single API surface with PropagationPolicy resources that declaratively distribute workloads based on cluster labels, weights, and availability.

§03

How to use

  1. Install the kubectl-karmada plugin and initialize:
kubectl krew install karmada
kubectl karmada init
  1. Join member clusters:
kubectl karmada join member1 --cluster-kubeconfig=member1.kubeconfig
  1. Create a PropagationPolicy to distribute workloads:
apiVersion: policy.karmada.io/v1alpha1
kind: PropagationPolicy
metadata:
  name: distribute-web
spec:
  resourceSelectors:
    - apiVersion: apps/v1
      kind: Deployment
      name: web
  placement:
    clusterAffinity:
      clusterNames:
        - member1
        - member2
    replicaScheduling:
      replicaSchedulingType: Divided
§04

Example

# Deploy to multiple clusters with one command
kubectl apply -f deployment.yaml --kubeconfig ~/.kube/karmada-apiserver.config
kubectl apply -f propagation-policy.yaml --kubeconfig ~/.kube/karmada-apiserver.config

# Check workload distribution
kubectl get rb -o wide --kubeconfig ~/.kube/karmada-apiserver.config
§05

Related on TokRepo

§06

Common pitfalls

  • Karmada requires a dedicated control plane cluster. This cluster runs the Karmada API server and does not run application workloads.
  • Network connectivity between the control plane and member clusters is required. Firewalls must allow the Karmada control plane to reach member cluster API servers.
  • PropagationPolicy changes trigger rebalancing. Avoid frequent policy updates that could cause unnecessary workload migrations.

Frequently Asked Questions

What is the relationship between Karmada and Kubernetes?+

Karmada extends the Kubernetes API with multi-cluster resources like PropagationPolicy and OverridePolicy. It uses the Kubernetes API server as its control plane and manages standard Kubernetes resources across member clusters.

Does Karmada support failover between clusters?+

Yes. Karmada provides automatic failover. If a member cluster becomes unavailable, workloads are rescheduled to healthy clusters based on the placement configuration in the PropagationPolicy.

Can Karmada manage clusters from different cloud providers?+

Yes. Karmada is cloud-agnostic. You can join clusters from AWS, GCP, Azure, on-premises, or any combination. The control plane communicates with member clusters via standard Kubernetes APIs.

Is Karmada production-ready?+

Yes. Karmada is a CNCF incubating project and is used in production by multiple organizations. It was originally developed by Huawei and has active community contributors.

How does Karmada differ from Kubernetes Federation (kubefed)?+

Kubefed is deprecated. Karmada is its spiritual successor with a more mature API, better scheduling algorithms, and active CNCF community support. Karmada provides PropagationPolicy for declarative multi-cluster management.

Citations (3)
  • Karmada GitHub— Karmada is a CNCF-incubated multi-cluster Kubernetes management system
  • Karmada Documentation— Karmada documentation and user guides
  • CNCF— CNCF project lifecycle and incubating criteria

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets