Resolved

Azure AKS deployment blocked by B-series VM quota restrictions

Azure
AKS
Terraform
DevOps
Infrastructure
Kubernetes
Quota
Deployment

Terraform deployment succeeds for 87% of Azure resources but fails on AKS cluster creation due to missing B-series VM quota | Partial success with Azure OpenAI, ACR, and networking fully operational

Resolving Azure Quota Limits for AKS Deployment

Issue

Terraform deployment failed at the AKS cluster creation stage due to insufficient vCPU quota for B-series VMs in the eastus region. Despite successful deployment of other resources (networking, ACR, Azure OpenAI), the system blocked AKS provisioning with a quota-exceeded error, halting the entire infrastructure deployment.

Culprit

Azure imposes default vCPU quotas per region and VM family. The subscription lacked allocated quota for B-series VMs (burstable instances), which are cost-effective for Kubernetes workloads. The configuration specified 2 B2s VMs (4 vCPUs total), but the subscription’s quota was 0 vCPUs for B-series, causing the deployment to fail with:

  • Error Message: QuotaExceeded for regional vCPU limits.
  • Root Cause: Quotas are not automatically allocated for all VM families; B-series often requires manual approval.

Solution

Three approaches were implemented:

1. Immediate Workaround (Non-Kubernetes)

Temporarily deployed the MCP server on Azure Container Instances (ACI) to bypass quota constraints. This provided full functionality (Azure OpenAI embeddings, networking) without requiring AKS-specific resources.

  • Tradeoff: No Kubernetes scalability but immediate availability.
  • Cost: Comparable to AKS with B-series VMs (~$10-20/month).

2. Permanent Fix (Quota Request)

  • Requested a quota increase via the Azure Portal for 4 vCPUs (2 B2s VMs) in the eastus region.
  • Approval Time: 1-3 business days (Microsoft SLA).
  • Outcome: Once approved, Terraform successfully deployed the AKS cluster with B-series VMs.

3. Alternative SKU Fallback

Modified the configuration to use D-series VMs (immediately available) as a backup. This resolved the quota issue at the cost of higher pricing (~2x monthly cost).

  • Use Case: Short-term fallback during quota processing.

Validation

Post-resolution, the deployment verified:

  • AKS cluster operational with healthy nodes.
  • Azure OpenAI embeddings generating 1536-dimensional vectors in under 300ms.
  • Total monthly cost under budget ($82/month, including AKS and OpenAI).

Key Takeaways:

  • Always check Azure quota limits for non-default VM families (e.g., B-series).
  • ACI is a viable temporary solution for quota-constrained deployments.
  • D-series VMs serve as a fallback for immediate availability.