Azure Kubernetes Service
Working with AKS
Azure Kubernetes Fleet
Managing hundreds or thousands of Azure Kubernetes Service (AKS) clusters can quickly become complex. This guide explores why you should adopt a multicluster pattern—and how to implement it on Azure using both community and enterprise solutions.
Why Use a Multicluster Architecture?
Single Kubernetes clusters can handle multiple workloads via namespaces and pods. However, large-scale or regulated deployments often require more:
Requirement | Description |
---|---|
Multi-tenancy | Isolate resources across teams or customers |
High availability | Distribute workloads for regional failover and resilience |
Regulatory compliance | Ensure data sovereignty and meet industry-specific rules |
Scalability limits | Scale beyond single-cluster node and pod count restrictions |
When to Choose Multicluster
Multicluster setups introduce operational overhead. Evaluate your tenancy, compliance, and scale requirements before proceeding.
Compliance alone can justify the additional complexity—for example, U.S. state-level regulations might require separate AKS clusters per jurisdiction. When application demands exceed single-cluster limits, a fleet of clusters becomes essential.
Open-Source Multicluster Solutions
Several community-driven projects enable cross-cluster orchestration:
Kubernetes Cluster Federation (KubeFed)
KubeFed provides federated APIs to coordinate resources across multiple Kubernetes clusters.
kubectl apply -f federated_resource.yml
Version history:
- v1: Deprecated
- v2: Archived
Deprecated Solution
KubeFed v2 is no longer actively developed. Consider alternative projects for production use.
Open Cluster Management (OCM)
OCM by Red Hat implements a hub-and-spoke control plane:
- Hub cluster: Central management plane
- Spoke clusters: Agents (
clusterlet
) register and enforce policies
Key OCM features:
- Cluster registration and discovery
- Placement, scheduling, and policy enforcement
Karmada
Karmada introduces a separate control plane with its own API server and scheduler.
Highlights:
- Dedicated Karmada API server
- Workload controllers sync across clusters
- Requires agent deployment in each member cluster
Enterprise Multicluster Management with Azure Kubernetes Fleet Manager
Azure Kubernetes Fleet Manager offers a managed service for AKS fleet operations at scale:
- Centralized cluster inventory and bulk operations
- Automated provisioning, upgrades, and configuration
- Policy-driven workload placement and governance
- Integrated north-south load balancing across regions
Azure Subscription Required
You need an Azure subscription with required permissions to create and manage fleet resources.
Example: Placing a Namespace Across Clusters
Define a ClusterResourcePlacement
CRD to deploy a namespace to clusters in eastus
:
apiVersion: fleet.azure.com/v1alpha1
kind: ClusterResourcePlacement
metadata:
name: demo
spec:
resourceSelectors:
- group:
version: v1
kind: Namespace
name: demo
policy:
affinity:
clusterAffinity:
clusterSelectorTerms:
- labelSelector:
matchLabels:
fleet.azure.com/location: eastus
Example: Creating a MultiClusterService
Import a service across your fleet using the MultiClusterService
CRD:
apiVersion: networking.fleet.azure.com/v1alpha1
kind: MultiClusterService
metadata:
name: demo
namespace: demo
spec:
serviceImport:
name: demo
Fleet Manager Features
Feature | Description |
---|---|
Bulk operations | Apply changes across dozens or hundreds of clusters simultaneously |
Automated lifecycle | Self-service cluster provisioning and version upgrades |
Policy enforcement | Define and enforce policies (e.g., Kubernetes version, pod limits) |
Update orchestration | Stage rollouts (test → prod) with update waves |
You can orchestrate rollouts in phases (e.g., test, staging, prod) by grouping clusters into waves:
This approach ensures consistent, safe updates across your entire AKS fleet.
Links and References
- Kubernetes Federation (KubeFed) Documentation
- Open Cluster Management (OCM) Project
- Karmada Official Site
- Azure Kubernetes Fleet Manager
- Azure Kubernetes Service (AKS) Overview
Watch Video
Watch video content