|
| 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