AKS Azure Linux 2.0 Nodepool — which one?

Choose how to replace or rebuild AKS nodepools that still depend on Azure Linux 2.0 after support ended on November 30, 2025.

Migrate node pools in place to AzureLinux3 if the cluster already supports it; choose Ubuntu only when Azure Linux 3 is blocked, and upgrade to 1.32+ only if that upgrade is already planned.

Blockers

Who this is for

Candidates

Migrate existing Linux node pools in place to osSku AzureLinux3

As of 2026-04-08, Azure Linux 2.0 on AKS is out of support, its node image is frozen at release 202512.06.0, and since 2026-03-31 the images have been removed so Azure Linux 2.0 node pools cannot scale. Microsoft documents an in-place migration path for existing Linux node pools by updating `--os-sku AzureLinux` to `--os-sku AzureLinux3`. `AzureLinux3` is supported on Kubernetes 1.28 through 1.36, and AKS says this reimages the pool onto the equivalent Azure Linux 3.0 image without requiring a Kubernetes version change.

When to choose

Use this when the cluster is already on Kubernetes 1.28 to 1.36 and you want the least control-plane disruption. It is the fastest path if your blocker is only the retired node OS and you do not need to switch distributions.

Tradeoffs

Preserves the current Kubernetes minor version and avoids a larger cluster upgrade, but it still forces node reimaging and pool-by-pool rollout. It only works where the target Azure Linux 3 image is supported for your Kubernetes version.

Cautions

AKS notes the update can fail if the target OS does not have a supported node image for the pool's Kubernetes version, VM size, or FIPS enablement. `AzureLinux3` is a versioned OS SKU, and AKS says versioned SKUs need manual migration before future blocked upgrade boundaries.

Upgrade the cluster to Kubernetes 1.32+ and let default AzureLinux move to Azure Linux 3.0

Microsoft documents that Azure Linux 3.0 is the default Azure Linux node OS for AKS 1.32 and above, while Azure Linux 2.0 was last supported through AKS 1.31. The support lifecycle page states that AKS customers automatically move to Azure Linux 3.0 when upgrading from Kubernetes 1.31 to 1.32, with no extra OS action required. As of 2026-04-08, this is the cleanest long-term path if the cluster is still on an older supported minor and you also need to get off an aging Kubernetes release.

When to choose

Use this when the cluster is on Kubernetes 1.31 and you are ready to take the 1.32 upgrade, or when you are on an older supported minor and already planning a tested upgrade to 1.32 or later. It is the better path when you want to return to the default `AzureLinux` SKU instead of pinning a versioned OS SKU.

Tradeoffs

Removes the Azure Linux 2.0 dependency as part of a normal Kubernetes lifecycle step, but it couples OS migration with Kubernetes version change risk. Application, API, and add-on compatibility all need validation at the same time.

Cautions

This is not a same-version fix for older 1.27 environments; the documented automatic move happens on the 1.31 to 1.32 upgrade path. Standard AKS support and LTS eligibility still depend on the target Kubernetes version, so confirm the destination version before rebuilding pools.

Migrate existing Linux node pools in place to Ubuntu if Azure Linux 3.0 is not a fit

AKS supports Linux pool migration by updating the OS SKU to Ubuntu, and the OS upgrade documentation says Linux pools can migrate between supported `os-sku` values with `az aks nodepool update`. As of 2026-04-08, this is the fallback when Azure Linux 3.0 cannot be used because of image support constraints tied to Kubernetes version, VM size, or FIPS requirements. AKS documents that default `Ubuntu` maps to Ubuntu 22.04 on Kubernetes 1.25 to 1.34 and to Ubuntu 24.04 on Kubernetes 1.35 to 1.37; versioned `Ubuntu2404` is supported on 1.32 to 1.38.

When to choose

Use this when you need a supported Linux pool immediately and Azure Linux 3.0 is blocked by compatibility or policy constraints. It is also reasonable when your platform standard already prefers Ubuntu across fleets.

Tradeoffs

Gives you a supported escape hatch from the retired Azure Linux 2.0 path, but changes both OS family and node image behavior. That can increase testing scope versus staying on Azure Linux.

Cautions

AKS warns Ubuntu 24.04 node images use containerd 2.0 by default, so workloads sensitive to runtime behavior should be validated. The docs also state FIPS is not supported for `Ubuntu2404`, and versioned OS SKUs require later manual migration to avoid blocked upgrades.

Facts updated: 2026-04-08
Published: 2026-04-09

Try with your AI agent

$ npm install -g pocketlantern
$ pocketlantern init
# Restart Claude Code, Cursor, or your MCP client, then ask:
# "AKS Azure Linux 2.0 Nodepool — which one?"
Missing something? Request coverage