AKS is nodepool is not creating nodes in availability zone 1

Jean-Pierre Fouche 0 Reputation points
2024-10-24T11:13:58.9066667+00:00

I have enabled zones 1, 2 and 3 and we are using availability zones in AKS.

But the cluster is not provisioning nodes in zone 1.

What could be the problem?

Azure Kubernetes Service (AKS)
Azure Kubernetes Service (AKS)
An Azure service that provides serverless Kubernetes, an integrated continuous integration and continuous delivery experience, and enterprise-grade security and governance.
2,281 questions
{count} votes

3 answers

Sort by: Most helpful
  1. Mounika Reddy Anumandla 2,585 Reputation points Microsoft Vendor
    2024-10-24T14:03:41.39+00:00

    Hi Jean-Pierre Fouche,

    Welcome to the Microsoft Q&A Platform! Thank you for asking your question here.

    I could provide you with the below troubleshooting steps:

    • Please verify that you used the --zones parameter correctly when creating the cluster. If you omitted Zone 1 or specified it incorrectly, nodes will not be allocated there. Double-check your deployment templates or scripts to confirm that zone 1 is specified correctly. The command should look like this:
        az group create --name $RESOURCE_GROUP --location $LOCATION
        az aks create \ --resource-group $RESOURCE_GROUP \ --name $CLUSTER_NAME \ --generate-ssh-keys \ --vm-set-type VirtualMachineScaleSets \ --load-balancer-sku standard \ --node-count 3 \ --zones 1 2 3
      
    • As anrodrigues-MSFT mentioned, please ensure that the VM size (SKU) you selected for your AKS nodes is available in all specified availability zones. If the VM size you selected for your AKS nodes is not available in Zone 1, Azure will not provision nodes there. You can check the availability of SKUs in specific zones through the Azure portal or CLI commands.
    az vm list-sizes --location eastus2 --output table
    
    • If you are using multiple node pools, make sure that each node pool is correctly configured to use the desired zones. Sometimes, node pools might not be evenly distributed across zones due to misconfiguration.
    • Verify node distribution across zones:
    az aks get-credentials --resource-group $RESOURCE_GROUP --name $CLUSTER_NAME
    kubectl describe nodes | grep -e "Name:" -e "topology.kubernetes.io/zone"
    

    This will help you see which zones your nodes are currently assigned to.
    https://learn.microsoft.com/en-us/azure/aks/availability-zones#verify-node-distribution-across-zones

    Additional resources: https://learn.microsoft.com/en-us/azure/aks/availability-zones-overview

    If you have any further queries, do let us know.

    If the answer is helpful, please click "Accept Answer" and "Upvote it."

    1 person found this answer helpful.

  2. Jean-Pierre Fouche 0 Reputation points
    2025-02-24T14:31:21.3166667+00:00

    Hi All,
    Thank you for your replies.

    Our cluster has been working OK until today. So this is not an issue about parameters during cluster creation @Mounika Reddy Anumandla

    Here are the zones available on our nodes:

    kubectl get no -ojson | jq -r '.items[] | "\(.metadata.name) \(.metadata.labels["topology.kubernetes.io/zone"])"' | column -t

    aks-monitoring-22598778-vmss000000 0

    aks-monitoring-22598778-vmss000001 0

    aks-monitoring-22598778-vmss000007 0

    Further, please see the command below:

    az vm list-skus --location "west us" --size "Standard_E2as_v5" --resource-type virtualMachines | jq -r '.[].locationInfo[].zones'

    [] # <===== NO ZONES AVAILABLE FOR THIS SKU

    I would be grateful if you could provide an answer?

    Many Thanks

    0 comments No comments

  3. Jean-Pierre Fouche 0 Reputation points
    2025-02-24T14:34:22.37+00:00

    Hi @anrodrigues-MSFT @Mounika Reddy Anumandla

    FYI we are operating in region us west

    Our VM Sku for the node pool is Standard_E2as_v5

    0 comments No comments

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.