Sign In

Curriculum 28: Multi-Cluster Management

Fleet Management

15 min · 35 XP

Fleet Management

Fleet management tools help operate tens or hundreds of Kubernetes clusters consistently. They provide centralized visibility, policy enforcement, and streamlined upgrades across your entire cluster fleet.

Rancher

Rancher provides a unified management interface for clusters across any infrastructure:

# Install Rancher via Helm
helm repo add rancher-latest https://releases.rancher.com/server-charts/latest
helm install rancher rancher-latest/rancher \
  --namespace cattle-system \
  --set hostname=rancher.example.com

# Import an existing cluster into Rancher
# Run the generated kubectl command on the target cluster
kubectl apply -f https://rancher.example.com/v3/import/cluster-registration.yaml

# Check managed clusters
kubectl get clusters.management.cattle.io

Google Anthos and GKE Fleet

Anthos manages clusters across GCP, on-premises, and other clouds:

# Register a cluster to a fleet
gcloud container fleet memberships register my-cluster \
  --gke-cluster=us-central1/my-cluster

# List fleet members
gcloud container fleet memberships list

# Apply fleet-wide configuration
gcloud container fleet config-management apply \
  --membership=my-cluster \
  --config=config-management.yaml

Cluster API

Cluster API provides declarative, Kubernetes-style APIs for cluster lifecycle management:

# Initialize Cluster API with a provider
clusterctl init --infrastructure aws

# Create a new cluster from a template
clusterctl generate cluster prod-cluster \
  --kubernetes-version v1.28.0 \
  --control-plane-machine-count=3 \
  --worker-machine-count=5 > cluster.yaml

kubectl apply -f cluster.yaml

# Check cluster provisioning status
kubectl get clusters -A
kubectl get machines -A

GitOps at Scale

Combine fleet tools with GitOps for scalable multi-cluster management:

# Flux multi-tenancy: one repo per cluster
flux bootstrap github --path=clusters/production-us-east
flux bootstrap github --path=clusters/production-eu-west

# ArgoCD ApplicationSets for fleet-wide deployments
kubectl get applicationsets -n argocd

Fleet management transforms cluster operations from manual per-cluster work into automated, policy-driven workflows.