Azure / Azure/AKS

[Feature] Managed VM Selection Profile

Open
#5,841 2 comments 0 reactions 1 assignee Claimed by @dyu1208 View on GitHub
feature-request nodepools
Dominant language
TypeScript
Stars
2.1k
Forks
395
Avg merge
2d 22h
Merged PRs (30d)
13

Description

Today, when creating an AKS node pool, customers must pick specific VM sizes upfront. If those sizes are out of capacity in the target region, node pool creation and scaling fail — forcing customers to manually retry with different sizes and absorbing the operational toil of capacity hunting themselves.

With this capability, you can declare your node pool's capacity needs in CPU and memory rather than specific VM sizes, and optionally provide a flexible list of acceptable VM sizes, series, or families. AKS will:

- Orchestrate VM allocation to satisfy your total CPU and memory requirements
- Automatically fall back to alternative VM sizes when the preferred ones are out of capacity
- Reduce creation and scaling failures caused by regional capacity constraints

Example: Request 8 total CPUs and 32 GB of memory, with allowed specs Standard_D4s_v3, Standard_D8s_v3, series Dsv4, or family D — AKS picks what's available.

Surface:
- New managedSelection profile under virtualMachinesProfile.scale on VirtualMachines-type user node pools
- CLI support via az aks nodepool add/update with --total-cpu, --total-memory-gb, and --vm-specifications

```
az aks create -g <...> -n <...> --name \
--vm-set-type "VirtualMachines" \
--vm-specifications "{size: Standard_D4s_v3}, {size: Standard_D8s_v3}, {series: Dsv4}, {family: D}"  \ # optional
--total-cpu 8 \
--total-memory-gb 32 \
--enable-managed-vm-selection
```

Benefits:
- Eliminate node pool creation failures caused by VM SKU capacity constraints
- Express capacity intent in business terms (CPU/memory) rather than SKU SKUs
- Reduce operational toil of manually retrying with different VM sizes

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.