An Azure service that provides serverless Kubernetes, an integrated continuous integration and continuous delivery experience, and enterprise-grade security and governance.
There is an important distinction here between a single node pool and a single-node system pool.
Based on Microsoft's current AKS system-node-pool requirements, I would not plan on creating the cluster within a 6-vCPU quota.
The current documentation states that:
- An AKS cluster must always have at least one system node pool.
- System node pools must contain at least two nodes.
- Each VM in a system node pool must have at least 4 vCPUs and 4 GB of memory.
- B-series VMs aren't supported for system node pools.
- For production, Microsoft recommends at least three system nodes, but that recommendation is separate from the minimum requirement.
That means the minimum implied compute requirement for the mandatory system pool is currently:
2 system nodes × 4 vCPUs = 8 vCPUs
So with only 6 vCPUs available, even a temporary/non-HA thesis cluster does not appear to fit the current system-pool requirements.
This also explains some of the apparently conflicting documentation.
A single node pool does not necessarily mean a single node. You can create AKS with only one node pool, but that pool is the required system pool and must satisfy the system-pool rules.
The current node-pool documentation also says that application pods can be scheduled on the system pool when the cluster has only one node pool. For a small academic/dev environment, that avoids adding a separate user pool, but it does not remove the system pool's minimum node/VM requirements.
For your subscription, I would verify the constraint in this order:
- Check your actual regional and VM-family quota:
"az vm list-usage --location <region> -o table"
- Check which VM SKUs Azure exposes to your subscription in each allowed region:
"az vm list-skus --location <region> --all -o table"
- For a candidate SKU, inspect any "restrictions" returned by "az vm list-skus". A SKU existing in a region does not necessarily mean your subscription is permitted to deploy it.
- Check whether you have at least 8 usable vCPUs in a VM family containing an AKS-supported system-node SKU.
In your example, "Standard_D4s_v3" having four family vCPUs available does not solve the problem if Azure reports "NotAvailableForSubscription". Quota and SKU eligibility are separate constraints.
Likewise, having 6 total regional vCPUs available would still not satisfy an 8-vCPU minimum system pool if the current 2-node × 4-vCPU requirements apply.
I would therefore avoid spending time trying random regions/SKUs until you establish whether the Azure for Students subscription can provide at least 8 usable vCPUs in an eligible family.
If it cannot, your practical choices are:
- request/use a subscription that provides sufficient AKS compute quota,
- upgrade to an eligible paid subscription if appropriate,
- use another Kubernetes environment for the thesis work, or
- if the thesis does not specifically require AKS, use a lighter Azure container option rather than forcing Kubernetes into the available quota.
For reference, Microsoft's current system node pool requirements are documented here:
https://learn.microsoft.com/en-us/azure/aks/use-system-pools
Microsoft also has a useful AKS learning path covering cluster planning, deployment, configuration, scaling, Azure Container Registry, and application deployment:
One final caution: Azure service requirements change over time. I would use the current AKS system-node-pool documentation as the authority when older pages or examples appear to permit a configuration that conflicts with today's stated system-pool restrictions.