Edit

Quotas, virtual machine size restrictions, and region availability in Azure Kubernetes Service (AKS)

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.

Screenshot of the Azure portal Quotas page.

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.