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."