Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Azure services set default limits and quotas for resources and features, including usage restrictions for certain virtual machine (VM) SKUs.
This article describes the default resource limits for Azure Kubernetes Service (AKS) and the availability of AKS in Azure regions.
Service quotas and limits
| Resource | Limit |
|---|---|
| Maximum number of clusters per subscription globally | 5,000 |
| Maximum nodes per cluster with Virtual Machine Scale Sets and Standard Load Balancer SKU | 5,000 across all node pools Note: If you're unable to scale up to 5,000 nodes per cluster, see Best Practices for Large Clusters. |
| Maximum nodes per node pool (Virtual Machine Scale Sets node pools) | 1000 |
| Maximum node pools per cluster | 100 |
| Maximum pods per node: with Kubenet networking plug-in | Maximum: 250 Azure CLI default: 110 Azure Resource Manager template default: 110 Azure portal deployment default: 30 |
| Maximum pods per node: with Azure Container Networking Interface (Azure CNI)1 | Maximum: 250 Maximum recommended for Windows Server containers: 110 Default: 30 |
| Open Service Mesh (OSM) AKS addon | Kubernetes Cluster Version: AKS Supported Versions OSM controllers per cluster: 1 Pods per OSM controller: 1600 Kubernetes service accounts managed by OSM: 160 |
| Maximum load-balanced kubernetes services per cluster with Standard Load Balancer SKU | 300 |
| Maximum nodes per cluster with Virtual Machine Availability Sets and Basic Load Balancer SKU | 100 |
1 Windows Server containers must use Azure CNI networking plug-in. Kubenet isn't supported for Windows Server containers.
| Kubernetes Control Plane tier | Limit |
|---|---|
| Standard tier | Automatically scales Kubernetes API server based on load. Larger control plane component limits and API server/etcd instances. |
| Free tier | Limited resources with inflight requests limit. Recommended node limit of 10 nodes per cluster. Best for experimenting, learning, and simple testing. Not advised for production/critical workloads. |
Note
In addition to the Free and Standard tiers listed in the preceding table, AKS offers a Premium tier for production workloads that require an uptime SLA and 24-month Long Term Support (LTS). For a complete comparison, see AKS pricing tiers.
Important
The Basic Load Balancer limit in the preceding table applies only to legacy configurations. Starting on September 30, 2025, AKS no longer supports Basic Load Balancer. Use Standard Load Balancer for new deployments and upgrade existing deployments to Standard Load Balancer.
Important
Starting on September 30, 2027, Azure Kubernetes Service (AKS) no longer supports the Open Service Mesh (OSM) add-on. The upstream Open Service Mesh project has been retired.
If your cluster uses the OSM add-on, migrate to the Istio add-on before the end-of-support date. This retirement notice applies only to the managed OSM add-on and doesn't address open-source or self-managed service mesh installations. For migration steps, see Migration guidance from the OSM add-on to the Istio add-on. To stay informed about AKS announcements and updates, follow the AKS release notes.
Quota limits on AKS managed clusters
Use the Azure portal Quotas page to view quota limits and usage and request additional quota.
The following screenshot shows current usage and limits for AKS managed clusters by region and the controls for requesting quota adjustments.
If you exceed your managed cluster quota, you might see an error message similar to the following:
ManagedClusterCountExceedsQuotaLimit: Operation results in exceeding quota limits for managed clusters. Maximum allowed: %d, Current usage: %d, Additional requested: %d. Consider deleting unused clusters or requesting a quota increase. To request a quota increase, follow the instructions here: https://learn.microsoft.com/azure/quotas/quickstart-increase-quota-portal.
To resolve this error, request additional quota on the Azure portal Quotas page.
AKS managed clusters quota limits
| Subscription Type | Default number of AKS clusters per subscription per region for new subscriptions1 | Maximum number of AKS clusters per subscription per region via self service using Azure portal Quotas page2 |
|---|---|---|
| Enterprise Agreement subscriptions | 100 | 1,000 |
| CSP, Pay-as-you-go, Sponsored, MSDN, MPN, Azure Pass, Azure In Open, and Azure Pass subscriptions | 10 | 100 |
| Free Trial and Azure for Students subscriptions | 3 | 3 |
1 The default number of AKS clusters per subscription per region for new subscriptions may vary in regions with capacity constraints.
2 To request an increase of the quota limit, use the Azure portal Quotas request process. Quota increase requests above the maximum self service amount will require a support ticket. Free Trial and Azure for Students subscriptions aren't eligible for limit or quota increases. If you have a Free Trial or Azure for Students subscription, you can upgrade to a pay-as-you-go subscription to get higher quota limits.
Throttling limits on AKS resource provider APIs
AKS uses the token bucket throttling algorithm to limit certain AKS resource provider APIs. Throttling helps maintain service performance and promotes fair usage.
The token buckets have a fixed size (also known as a burst rate) and refill over time at a fixed rate (also known as a sustained rate). Each throttling limit applies to the specified resource in each region. For example, a subscription can call ListManagedClusters up to 60 times at once for each resource group (burst rate) and then continue to make one call per second (sustained rate).
| API request | Bucket size | Refill rate | Scope |
|---|---|---|---|
LIST ManagedClusters |
500 requests | 1 request per second | Subscription |
LIST ManagedClusters |
60 requests | 1 request per second | Resource group |
PUT AgentPool |
20 requests | 1 request per minute | Agent pool |
PUT ManagedCluster |
20 requests | 1 request per minute | Managed cluster |
GET ManagedCluster |
60 requests | 1 request per second | Managed cluster |
| GET operation status | 200 requests | 2 requests per second | Subscription |
| All other APIs | 60 requests | 1 request per second | Subscription |
Note
The ManagedClusters and AgentPools buckets are counted separately for the same AKS cluster.
When AKS throttles a request, it returns HTTP status code 429 (Too Many Requests) and the Throttled error code. The response includes a Retry-After header that specifies the number of seconds to wait before retrying. If your client uses a bursty API call pattern, configure it to handle the Retry-After value. For more information, see the Retry-After header. AKS uses delay-seconds to specify the retry interval.
Provisioned infrastructure
All other network, compute, and storage limitations apply to the provisioned infrastructure. For the relevant limits, see Azure subscription and service limits.
Important
When you upgrade an AKS cluster, the upgrade temporarily consumes extra resources. These resources include available IP addresses in a virtual network subnet or virtual machine vCPU quota.
For Windows Server containers, upgrade the node pool to apply the latest node updates. If you don't have enough IP address space or vCPU quota for these temporary resources, the cluster upgrade fails. For more information, see Upgrade a node pool in AKS.
Supported VM sizes in AKS
Azure Kubernetes Service (AKS) support for VM sizes changes as Azure releases new VM versions. For updates about supported versions, see the AKS release notes.
Restricted VM sizes in AKS
Each node in an AKS cluster contains a fixed amount of compute resources, such as vCPU and memory. Because Kubernetes requires specific compute resources to operate correctly, AKS restricts certain VM versions by default. These restrictions help ensure that pods can be scheduled and function correctly on the nodes.
User node pools
For user node pools, you might not be able to use VM versions with fewer than two vCPUs and 2 GB of memory.
System node pools
For system node pools, you might not be able to use VM versions with fewer than two vCPUs and 4 GB of memory. To help ensure reliable scheduling for the required kube-system pods and your applications, AKS doesn't support B series VMs for system node pools and doesn't recommend Av1 series VMs.
For more information on VM types and their compute resources, see Sizes for virtual machines in Azure.
Supported container image sizes in AKS
AKS doesn't set a service-level limit on container image size. Large images can increase pull latency and consume more node disk space, disk I/O, and network bandwidth. If a node doesn't have sufficient disk space, the kubelet might not be able to pull the image. For optimization guidance, see Improve container image pull performance in AKS.
Runtime memory use depends on workload behavior rather than image artifact size. Set container memory requests and limits based on measured runtime requirements. For more information, see Resource management for pods and containers.
Region availability
AKS availability varies by Azure region. Even in supported regions, regional capacity, VM version availability, and subscription quota can affect deployment.
For the latest list of where you can deploy and run clusters, see AKS region availability.
Smart VM defaults in AKS
Before May 2025, the default AKS VM SKU was Standard_DS2_v2. For deployments created since May 2025, if you don't specify a VM SKU, AKS dynamically selects a default based on available capacity and quota. This selection improves deployment reliability and resource utilization.
Cluster configuration presets in the Azure portal
When you create a cluster in the Azure portal, select a preset to quickly configure the cluster for your scenario. You can modify the preset values during cluster creation. The settings that you can modify after deployment vary.
| Preset | Description |
|---|---|
| Production Standard | Best for most applications serving production traffic with AKS-recommended best practices. |
| Dev/Test | Best for developing new workloads or testing existing workloads. |
| Production Economy | Best for serving production traffic cost-effectively if your workloads can tolerate interruptions. |
| Production Enterprise | Best for serving production traffic with rigorous permissions and hardened security. |
| Configuration setting | Production Standard | Dev/Test | Production Economy | Production Enterprise |
|---|---|---|---|---|
| System node pool node size | Standard_D8ds_v5 | Standard_D4ds_v5 | Standard_D8ds_v5 | Standard_D16ds_v5 |
| System node pool autoscaling range | 2-5 nodes | 2-5 nodes | 2-5 nodes | 2-5 nodes |
| User node pool node size | Standard_D8ds_v5 | - | Standard_D8as_v4 | Standard_D8ds_v5 |
| User node pool autoscaling range | 2-100 nodes | - | 0-25 nodes | 2-100 nodes |
| Private cluster | - | - | - | |
| Availability zones | - | - | ||
| Azure Policy | - | - | ||
| Azure Monitor | - | - | ||
| Secrets store CSI driver | - | - | ||
| Network configuration | Azure CNI Overlay | Azure CNI Overlay | Azure CNI Overlay | Azure CNI Overlay |
| Network policy | None | None | None | None |
| Authentication and authorization | Local accounts with Kubernetes role-based access control (RBAC) | Local accounts with Kubernetes RBAC | Microsoft Entra ID authentication with Azure role-based access control (Azure RBAC) | Microsoft Entra ID authentication with Azure RBAC |
Next steps
For limits and quotas that support increases, submit an Azure support request and select Quota for Issue type.