Skip to content

Commit 772ad8c

Browse files
authored
Merge pull request #218309 from Nickomang/aks-upgrade-changes
Upgrade overview article
2 parents 1f49b1d + 33cca27 commit 772ad8c

File tree

3 files changed

+76
-0
lines changed

3 files changed

+76
-0
lines changed

articles/aks/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -178,6 +178,8 @@
178178
items:
179179
- name: Cluster operations
180180
items:
181+
- name: Maintaining and upgrading an AKS cluster
182+
href: upgrade.md
181183
- name: Abort long running operations
182184
href: manage-abort-operations.md
183185
- name: Automatically upgrade an AKS cluster

articles/aks/auto-upgrade-cluster.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,13 +14,18 @@ Part of the AKS cluster lifecycle involves performing periodic upgrades to the l
1414

1515
> [!NOTE]
1616
> Any upgrade operation, whether performed manually or automatically, will upgrade the node image version if not already on the latest. The latest version is contingent on a full AKS release, and can be determined by visiting the [AKS release tracker][release-tracker].
17+
>
18+
> Auto-upgrade will first upgrade the control plane, and then proceed to upgrade agent pools one by one.
1719
1820
## Why use auto-upgrade
1921

2022
Auto-upgrade provides a set once and forget mechanism that yields tangible time and operational cost benefits. By enabling auto-upgrade, you can ensure your clusters are up to date and don't miss the latest AKS features or patches from AKS and upstream Kubernetes.
2123

2224
AKS follows a strict versioning window with regard to supportability. With properly selected auto-upgrade channels, you can avoid clusters falling into an unsupported version. For more on the AKS support window, see [Supported Kubernetes versions][supported-kubernetes-versions].
2325

26+
27+
Even if using node image auto upgrade (which won't change the Kubernetes version), it still requires MC to be in a supported version
28+
2429
## Using auto-upgrade
2530

2631
Automatically completed upgrades are functionally the same as manual upgrades. The timing of upgrades is determined by the selected channel. When making changes to auto-upgrade, allow 24 hours for the changes to take effect.
@@ -38,6 +43,9 @@ The following upgrade channels are available:
3843
> [!NOTE]
3944
> Cluster auto-upgrade only updates to GA versions of Kubernetes and will not update to preview versions.
4045
46+
> [!NOTE]
47+
> Auto-upgrade requires the cluster's Kubernetes version to be within the [AKS support window][supported-kubernetes-versions], even if using the `node-image` channel.
48+
4149
Automatically upgrading a cluster follows the same process as manually upgrading a cluster. For more information, see [Upgrade an AKS cluster][upgrade-aks-cluster].
4250

4351
To set the auto-upgrade channel when creating a cluster, use the *auto-upgrade-channel* parameter, similar to the following example.

articles/aks/upgrade.md

Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
---
2+
title: Overview of upgrading Azure Kubernetes Service (AKS) clusters and components
3+
description: Learn about the various upgradeable components of an Azure Kubernetes Service (AKS) cluster and how to maintain them.
4+
author: nickomang
5+
ms.author: nickoman
6+
ms.service: container-service
7+
ms.topic: conceptual
8+
ms.date: 11/11/2022
9+
---
10+
11+
# Upgrading Azure Kubernetes Service clusters and node pools
12+
13+
An Azure Kubernetes Service (AKS) cluster will periodically need to be updated to ensure security and compatibility with the latest features. There are two components of an AKS cluster that are necessary to maintain:
14+
15+
- *Cluster Kubernetes version*: Part of the AKS cluster lifecycle involves performing upgrades to the latest Kubernetes version. It’s important you upgrade to apply the latest security releases and to get access to the latest Kubernetes features, as well as to stay within the [AKS support window][supported-k8s-versions].
16+
- *Node image version*: AKS regularly provides new node images with the latest OS and runtime updates. It's beneficial to upgrade your nodes' images regularly to ensure support for the latest AKS features and to apply essential security patches and hot fixes.
17+
18+
The following table summarizes the details of updating each component:
19+
20+
|Component name|Frequency of upgrade|Planned Maintenance supported|Supported operation methods|Documentation link|
21+
|--|--|--|--|--|
22+
|Cluster Kubernetes version (minor) upgrade|Roughly every three months|Yes| Automatic, Manual|[Upgrade an AKS cluster][upgrade-cluster]|
23+
|Cluster Kubernetes version upgrade to supported patch version|Approximately weekly. To determine the latest applicable version in your region, see the [AKS release tracker][release-tracker]|Yes|Automatic, Manual|[Upgrade an AKS cluster][upgrade-cluster]|
24+
|Node image version upgrade|**Linux**: weekly<br>**Windows**: monthly|Yes|Automatic, Manual|[AKS node image upgrade][node-image-upgrade]|
25+
|Security patches and hot fixes for node images|As-necessary||||
26+
27+
## Automatic upgrades
28+
29+
Automatic upgrades can be performed through [auto upgrade channels][auto-upgrade] or via [GitHub Actions][gh-actions-upgrade].
30+
31+
## Planned maintenance
32+
33+
[Planned maintenance][planned-maintenance] allows you to schedule weekly maintenance windows that will update your control plane as well as your kube-system pods, helping to minimize workload impact.
34+
35+
## Troubleshooting
36+
37+
To find details and solutions to specific issues, view the following troubleshooting guides:
38+
39+
- [Upgrade fails because of NSG rules][ts-nsg]
40+
41+
- [PodDrainFailure error][ts-pod-drain]
42+
43+
- [PublicIPCountLimitReached error][ts-ip-limit]
44+
45+
- [QuotaExceeded error][ts-quota-exceeded]
46+
47+
- [SubnetIsFull error][ts-subnet-full]
48+
49+
## Next steps
50+
51+
For more information what cluster operations may trigger specific upgrade events, see the [AKS operator's guide on patching][operator-guide-patching].
52+
53+
<!-- LINKS -->
54+
[auto-upgrade]: ./auto-upgrade-cluster.md
55+
[planned-maintenance]: ./planned-maintenance.md
56+
[upgrade-cluster]: ./upgrade-cluster.md
57+
[release-tracker]: ./release-tracker.md
58+
[node-image-upgrade]: ./node-image-upgrade.md
59+
[gh-actions-upgrade]: ./node-upgrade-github-actions.md
60+
[operator-guide-patching]: /azure/architecture/operator-guides/aks/aks-upgrade-practices.md#considerations
61+
[supported-k8s-versions]: ./supported-kubernetes-versions.md#kubernetes-version-support-policy
62+
[ts-nsg]: /troubleshoot/azure/azure-kubernetes/upgrade-fails-because-of-nsg-rules
63+
[ts-pod-drain]: /troubleshoot/azure/azure-kubernetes/error-code-poddrainfailure
64+
[ts-ip-limit]: /troubleshoot/azure/azure-kubernetes/error-code-publicipcountlimitreached
65+
[ts-quota-exceeded]: /troubleshoot/azure/azure-kubernetes/error-code-quotaexceeded
66+
[ts-subnet-full]: /troubleshoot/azure/azure-kubernetes/error-code-subnetisfull-upgrade

0 commit comments

Comments
 (0)