What is Kubernetes fleet management?

Kubernetes fleet management is the practice of operating many Kubernetes clusters as one group instead of one at a time. A fleet manager keeps an inventory of clusters, pushes the same configuration and policies to them, orchestrates their upgrades and connects their services across cluster boundaries. Products such as GKE fleets, Azure Kubernetes Fleet Manager, Rancher Fleet, Open Cluster Management and Karmada all use the word, but each one covers a different part of the job.

Why organizations end up with fleets

Clusters multiply for ordinary reasons: one per environment, one per region, one per team, one per customer, one per cloud and one per edge site. A company with three environments in four regions already runs 12 clusters. Retailers and manufacturers with a cluster in every store or plant run hundreds.

Each cluster has its own control plane, version, add-ons, credentials and policies. Without central tooling, every change is repeated by hand and clusters drift apart. Fleet management exists to stop that drift.

The jobs a fleet manager does

Job What it means
Inventory and access A single list of clusters with their versions, health, labels and owners, and one place to grant access.
Configuration propagation Applying the same manifests, Helm charts or namespaces to selected clusters, often through GitOps.
Policy Enforcing the same admission, security and quota rules everywhere.
Upgrade orchestration Rolling Kubernetes and node image upgrades through clusters in stages, for example test before production.
Workload placement Choosing which clusters run an application, based on labels, capacity or location.
Multi-cluster networking Service discovery and load balancing across clusters, and failover between them.

No single tool does all of these equally well, which is why the term is confusing.

How vendors and projects define a fleet

Tool Definition of a fleet Main focus
GKE fleets A logical grouping of Kubernetes clusters and other resources that can be managed together. A Google Cloud project hosts at most one fleet. Config Sync, Policy Controller, team scopes, multi-cluster Services and Gateway. Clusters outside Google Cloud can join.
Azure Kubernetes Fleet Manager A Fleet Manager resource with AKS and Azure Arc-enabled member clusters. Staged update runs with approvals, resource placement from a hub cluster, multi-cluster namespaces, DNS-based load balancing.
Rancher Fleet A set of downstream clusters, each running an agent that reports to a central Fleet manager. GitOps: deploying manifests, Kustomize and Helm charts from Git to many clusters.
Open Cluster Management A hub cluster and managed clusters, each running a klusterlet agent that pulls instructions from the hub. Cluster registration, Placement to select clusters, ManifestWork to deliver resources. A CNCF Sandbox project.
Karmada A control plane that exposes Kubernetes-native APIs and schedules workloads across member clusters. Multi-cluster scheduling, failover and autoscaling across clouds. A CNCF Incubating project.

Two patterns run through this list. Most tools use a hub-and-agent design, where an agent in each cluster connects out to a central hub, so clusters behind firewalls can join without inbound access. And most separate “which clusters” (labels, groups, placement rules) from “what to deploy” (Git repositories, bundles, manifests).

Google’s earlier multi-cluster product, Anthos, became part of GKE and its fleet features. Our post on what happened to Anthos explains the naming. To create and replace the clusters in a fleet, many teams pair a fleet manager with Cluster API.

Fleet management and GitOps

Configuration propagation is the job most teams start with, and GitOps is the usual way to do it. A Git repository holds the desired state, and an agent in each cluster, or a central controller, applies it. Rancher Fleet is built around this model, GKE uses Config Sync, and Azure Fleet Manager can stage resources from Git to its hub. What GitOps is covers the model itself.

Upgrades across many clusters

Upgrades are where fleets save the most time. A fleet manager can upgrade a group of test clusters, wait, and then move to production groups, stopping if health checks fail. Azure Fleet Manager calls these update runs. GKE uses team scopes to sequence cluster upgrade rollouts. Without this, every cluster follows its own upgrade schedule, and the slowest one decides how long you pay for old versions. How to upgrade a Kubernetes cluster covers the steps inside each cluster.

Fewer clusters as an alternative

A fleet manager reduces the cost of running many clusters but does not remove it. Each cluster still has its own control plane, add-ons and upgrade cycle. Some organizations need fewer clusters instead: one cluster whose nodes span several clouds or sites, separated by namespaces, node labels and network policies. Whether that fits depends on isolation, compliance and failure-domain requirements, discussed in whether one cluster can span multiple clouds.

Fleets in Cloudfleet

Despite the name, a Cloudfleet Fleet is not a fleet of clusters. In Cloudfleet Kubernetes Engine (CFKE), a Fleet is a set of node provisioning settings inside one cluster: it holds the cloud provider accounts and constraints that node auto-provisioning uses to add and remove nodes, and one cluster can have several Fleets across AWS, Google Cloud and Hetzner. See Fleets for details.

On this page