Skip to main content
Wilson Darko
Product Manager at Microsoft
View all authors

Navigating Capacity Challenges on AKS with Node Auto Provisioning or Virtual Machine Node Pools

· 10 min read
Wilson Darko
Product Manager at Microsoft

When Growth Meets a Wall

Imagine this: your application is thriving, traffic spikes, and Kubernetes promises elasticity. You hit “scale,” expecting seamless provisioning - only to be greeted by errors like:

  • SkuNotAvailable: The VM size (also referred to as VM SKU) you requested is not available.
  • AllocationFailed: Azure can’t allocate the specific VM size with the constraints you requested in a particular region.
  • Quota exceeded: Your subscription has hit its compute limits for a particular location or VM size.
  • ZonalAllocationFailed: Azure can’t allocate the VM size with the constraints you requested in a particular zone.
  • OverconstrainedAllocationRequest: Azure can’t allocate the specific VM size with the constraints you requested in a particular region.
  • OverconstrainedZonalAllocationRequest: Azure can’t allocate the VM size with the constraints you requested in a particular zone.

For customers, these aren’t just error messages - they’re roadblocks. Pods remain pending, deployments stall, and SLAs tremble. Scaling isn’t just about adding nodes; it’s about finding capacity in a dynamic, multi-tenant cloud where demand often outpaces supply. In the case of quota gaps, usually users can increase their quotas in a particular location - but what about when a specific virtual machine size (also known as a "VM SKU") is simply unavailable? This can cause many challenges for users.