Skip to content

Commit 4fc8f4d

Browse files
author
amsliu
committed
tech review update
1 parent 7e56720 commit 4fc8f4d

2 files changed

Lines changed: 117 additions & 85 deletions

File tree

Lines changed: 117 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,117 @@
1+
---
2+
title: AKS upgrade not allowed or blocked due to unsupported Kubernetes version or node pool version skew
3+
description: Learn how to troubleshoot AKS upgrade not allowed or blocked due to unsupported Kubernetes version or node pool version skew.
4+
ms.date: 08/20/2025
5+
editor: v-jsitser
6+
ms.reviewer: v-liuamson
7+
ms.service: azure-kubernetes-service
8+
#Customer intent: As an Azure Kubernetes user, I want to troubleshoot AKS upgrade not allowed or blocked due to unsupported Kubernetes version or node pool version skew so that I can successfully upgrade an AKS cluster by using the Azure CLI.
9+
ms.custom: sap:Create, Upgrade, Scale and Delete operations (cluster or nodepool)
10+
---
11+
# AKS upgrade not allowed or blocked due to unsupported Kubernetes version or node pool version skew
12+
13+
## Prerequisites
14+
15+
This article requires Azure CLI version 2.67.0 or a later version.
16+
To find the version number, run `az --version`. If you have to install or
17+
upgrade Azure CLI, see [How to install the Azure CLI](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli).
18+
19+
For more detailed information about the upgrade process, see the "Upgrade an AKS cluster" section in
20+
[Upgrade an Azure Kubernetes Service (AKS) cluster](https://learn.microsoft.com/en-us/azure/aks/upgrade-cluster#upgrade-an-aks-cluster).
21+
22+
## Symptoms
23+
24+
When attempting to upgrade an AKS cluster using the Azure CLI, the upgrade operation is blocked with one or more of the following errors:
25+
26+
**K8sVersionNotSupported:** Managed cluster `<ClusterName>` is on version 1.25.6 which is not supported in this region.
27+
Please use the `[azaks get-versions]` command to get the supported version list in this region.
28+
For more information, see [Supported Kubernetes versions in Azure Kubernetes Service (AKS)](https://aka.ms/supported-version-list).
29+
30+
Or
31+
32+
**OperationNotAllowed:** Upgrading Kubernetes version 1.24.9 to 1.26.6
33+
is not allowed. Available upgrades: [1.29.15 1.29.14 1.29.13 1.29.12
34+
1.29.11 1.29.10 1.29.9 1.29.8 1.29.7 1.29.6 1.29.5 1.29.4 1.29.2
35+
1.29.0]. For more information, see [AKS supported Kubernetes versions](https://aka.ms/aks-supported-k8s-ver) for version
36+
details.
37+
38+
Or
39+
40+
**NodePoolMcVersionIncompatible:** Node pool version 1.24.9 and control
41+
plane version 1.29.15 is incompatible. Minor version of node pool cannot
42+
be more than 3 versions less than control plane's version. Minor
43+
version of node pool is 24 and control plane is 29. For more information, see
44+
[AKS upgrade version skew policy](https://aka.ms/aks/UpgradeVersionRules).
45+
46+
## Cause
47+
48+
The upgrade is not allowed due to one or more of the following reasons:
49+
50+
- The target Kubernetes version (e.g., 1.25 or 1.26) is no longer supported in the selected Azure region.
51+
52+
- Skipping minor versions during upgrades (e.g., from 1.24.x to 1.26.x or 1.27.x) is not allowed unless the current version is unsupported.
53+
54+
- A control plane and node pool version skew (**NodePoolMcVersionIncompatible**) occurred when attempting to
55+
upgrade only the control plane while the nodepool version is too far behind causing a big gap such that the
56+
node pool version is more than three minor versions behind the control plane version.
57+
58+
To understand more about these errors, you can refer to following articles:
59+
60+
- [AKS supported Kubernetes versions](https://aka.ms/aks-supported-k8s-ver)
61+
- [AKS upgrade version skew policy](https://aka.ms/aks/UpgradeVersionRules)
62+
63+
## Solution
64+
65+
### Step 1: Confirm the current version and available upgrade paths
66+
67+
Run the following command to view the current Kubernetes version and supported upgrade targets:
68+
69+
```azurecli
70+
az aks get-upgrades --resource-group <RG> --name <ClusterName> --output table`
71+
```
72+
73+
If only newer versions such as 1.29.x are listed, and intermediate versions like 1.25.x, 1.26.x, or 1.27.x are missing, this indicates that
74+
those versions are deprecated in your region.
75+
76+
### Step 2: Attempt full upgrade (control plane and node pool together)
77+
78+
Due to the version skew policy (**control planes cannot be more than three minor versions ahead of node pools**),
79+
a separate control-plane-only upgrade may not be allowed. Instead, upgrade both the control plane and node pool together:
80+
81+
```azurecli
82+
az aks upgrade --resource-group <RG> --name <ClusterName>
83+
--kubernetes-version <available upgrade version> --yes
84+
```
85+
86+
This will ensure compliance with the version skew policy, use of a supported Kubernetes version and upgrade of both components in a
87+
coordinated manner.
88+
89+
### Additional Tips
90+
91+
- Always validate supported versions in your region using:
92+
93+
```azurecli
94+
az aks get-versions --location <region> --output table
95+
```
96+
97+
- Avoid attempting to upgrade to deprecated versions. AKS may enforce immediate skips to supported long-term versions (e.g., 1.29).
98+
99+
- **For AKS clusters running significantly outdated Kubernetes versions**, the recommended best practices include following:
100+
101+
- **Create a New Cluster:** Spin up a new AKS cluster with a supported
102+
Kubernetes version.
103+
104+
- **Migrate Workloads:** Transfer your workloads to the new cluster to
105+
ensure they run on supported versions.
106+
107+
- **Avoid Upgrading Across Multiple Versions:** Instead of upgrading
108+
through several minor versions, moving to a new cluster minimizes
109+
complexity and potential issues.
110+
111+
- **Backup and Validate Data:** Ensure all data is backed up and validated
112+
before migration.
113+
114+
- **Test Thoroughly:** Perform thorough testing in a staging environment
115+
to identify and resolve any compatibility issues.
116+
117+
[!INCLUDE [azure-help-support](../../../includes/azure-help-support.md)]

support/azure/azure-kubernetes/error-codes/upgradefailed-error.md

Lines changed: 0 additions & 85 deletions
This file was deleted.

0 commit comments

Comments
 (0)