You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/aks/auto-upgrade-node-os-image.md
+17-39Lines changed: 17 additions & 39 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,10 +3,10 @@ title: Auto-upgrade Node OS Images
3
3
description: Learn how to choose an upgrade channel that best supports your needs for cluster's node OS security and maintenance.
4
4
ms.topic: article
5
5
ms.custom: build-2023, devx-track-azurecli
6
-
ms.author: nickoman
7
-
author: nickomang
6
+
ms.author: kaarthis
7
+
author: kaarthis
8
8
ms.subservice: aks-upgrade
9
-
ms.date: 11/22/2023
9
+
ms.date: 05/10/2024
10
10
---
11
11
12
12
# Auto-upgrade node OS images
@@ -20,19 +20,19 @@ It's best to use both cluster-level [auto-upgrades][Autoupgrade] and the node OS
20
20
21
21
## Channels for node OS image upgrades
22
22
23
-
The selected channel determines the timing of upgrades. When making changes to node OS auto-upgrade channels, allow up to 24 hours for the changes to take effect. Once you change from one channel to another channel, a reimage will be triggered leading to rolling nodes.
23
+
The selected channel determines the timing of upgrades. When making changes to node OS auto-upgrade channels, allow up to 24 hours for the changes to take effect. Once you change from one channel to another channel, a reimage is triggered leading to rolling nodes.
24
24
25
25
> [!NOTE]
26
-
> Node OS image auto-upgrade won't affect the cluster's Kubernetes version. It only works for a cluster in a [supported version][supported].
26
+
> Node OS image auto-upgrade won't affect the cluster's Kubernetes version.
27
27
28
28
The following upgrade channels are available. You're allowed to choose one of these options:
29
29
30
30
|Channel|Description|OS-specific behavior|
31
31
|---|---|
32
32
|`None`| Your nodes don't have security updates applied automatically. This means you're solely responsible for your security updates.|N/A|
33
-
|`Unmanaged`|OS updates are applied automatically through the OS built-in patching infrastructure. Newly allocated machines are unpatched initially. The OS's infrastructure patches them at some point.|Ubuntu and Azure Linux (CPU node pools) apply security patches through unattended upgrade/dnf-automatic roughly once per day around 06:00 UTC. Windows doesn't automatically apply security patches, so this option behaves equivalently to `None`. You'll need to manage the reboot process by using a tool like [kured][kured].|
34
-
|`SecurityPatch`|This channel is in preview and requires enabling the feature flag `NodeOsUpgradeChannelPreview`. Refer to the prerequisites section for details. AKS regularly updates the node's virtual hard disk (VHD) with patches from the image maintainer labeled "security only." There might be disruptions when the security patches are applied to the nodes. When the patches are applied, the VHD is updated and existing machines are upgraded to that VHD, honoring maintenance windows and surge settings. This option incurs the extra cost of hosting the VHDs in your node resource group. If you use this channel, Linux [unattended upgrades][unattended-upgrades] are disabled by default.|Azure Linux doesn't support this channel on GPU-enabled VMs. `SecurityPatch` works on patch versions that are deprecated, so long as the minor Kubernetes version is still supported.|
35
-
|`NodeImage`|AKS updates the nodes with a newly patched VHD containing security fixes and bug fixes on a weekly cadence. The update to the new VHD is disruptive, following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option. If you use this channel, Linux [unattended upgrades][unattended-upgrades] are disabled by default. Node image upgrades support patch versions that are deprecated, so long as the minor Kubernetes version is still supported.|
33
+
|`Unmanaged`|OS updates are applied automatically through the OS built-in patching infrastructure. Newly allocated machines are unpatched initially. The OS's infrastructure patches them at some point.|Ubuntu and Azure Linux (CPU node pools) apply security patches through unattended upgrade/dnf-automatic roughly once per day around 06:00 UTC. Windows doesn't automatically apply security patches, so this option behaves equivalently to `None`. You need to manage the reboot process by using a tool like [kured][kured].|
34
+
| `SecurityPatch`|OS security patches, which are AKS-tested, fully managed, and applied with safe deployment practices. AKS regularly updates the node's virtual hard disk (VHD) with patches from the image maintainer labeled "security only." There might be disruptions when the security patches are applied to the nodes, however AKS is limiting disruptions by only reimaging your nodes only when necessary, such as for certain kernel security packages. When the patches are applied, the VHD is updated and existing machines are upgraded to that VHD, honoring maintenance windows and surge settings. If AKS decides reimaging nodes isn't necessary, it patches nodes live without draining pods and performs no VHD update. This option incurs the extra cost of hosting the VHDs in your node resource group. If you use this channel, Linux [unattended upgrades][unattended-upgrades] are disabled by default.|Azure Linux doesn't support this channel on GPU-enabled VMs. `SecurityPatch` works on kubernetes patch versions that are deprecated, so long as the minor Kubernetes version is still supported.|
35
+
|`NodeImage`|AKS updates the nodes with a newly patched VHD containing security fixes and bug fixes on a weekly cadence. The update to the new VHD is disruptive, following maintenance windows and surge settings. No extra VHD cost is incurred when choosing this option. If you use this channel, Linux [unattended upgrades][unattended-upgrades] are disabled by default. Node image upgrades support patch versions that are deprecated, so long as the minor Kubernetes version is still supported. Node images are AKS-tested, fully managed, and applied with safe deployment practices|
36
36
37
37
## Set the node OS auto-upgrade channel on a new cluster
38
38
@@ -100,47 +100,20 @@ The default cadence means there's no planned maintenance window applied.
100
100
|---|---|
101
101
| `Unmanaged`|OS driven security updates. AKS has no control over these updates.|Nightly around 6AM UTC for Ubuntu and Azure Linux. Monthly for Windows.|
102
102
| `SecurityPatch`|AKS-tested, fully managed, and applied with safe deployment practices. For more information, refer to [Increased security and resiliency of Canonical workloads on Azure][Blog].|Weekly.|
103
-
| `NodeImage`|AKS|Weekly.|
103
+
| `NodeImage`|AKS-tested, fully managed, and applied with safe deployment practices. For more real time information on releases, look up [AKS Node Images in Release tracker][release-tracker] |Weekly.|
104
104
105
105
> [!NOTE]
106
-
> While Windows security updates are released on a monthly basis, using the `Unmanaged` channel will not automatically apply these updates to Windows nodes. If you choose the `Unmanaged` channel, you need to manage the reboot process by using a tool like [kured][kured] in order to properly apply security patches.
106
+
> While Windows security updates are released on a monthly basis, using the `Unmanaged` channel will not automatically apply these updates to Windows nodes. If you choose the `Unmanaged` channel, you need to manage the reboot process for Windows nodes.
107
107
108
-
## SecurityPatch channel requirements
109
108
110
-
To use the `SecurityPatch` channel, your cluster must support these requirements:
111
-
112
-
* Must be using API version `11-02-preview` or later
113
-
* If using Azure CLI, the `aks-preview` CLI extension version `0.5.166` or later must be installed
114
-
* The `NodeOsUpgradeChannelPreview` feature flag must be enabled on your subscription
115
-
116
-
### Register NodeOsUpgradeChannelPreview
117
-
118
-
Register the `NodeOsUpgradeChannelPreview` feature flag by using the [az feature register][az-feature-register] command, as shown in the following example:
119
-
120
-
```azurecli-interactive
121
-
az feature register --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"
122
-
```
123
-
124
-
It takes a few minutes for the status to show *Registered*. Verify the registration status by using the [az feature show][az-feature-show] command:
125
-
126
-
```azurecli-interactive
127
-
az feature show --namespace "Microsoft.ContainerService" --name "NodeOsUpgradeChannelPreview"
128
-
```
129
-
130
-
When the status reflects *Registered*, refresh the registration of the *Microsoft.ContainerService* resource provider by using the [az provider register][az-provider-register] command:
131
-
132
-
```azurecli-interactive
133
-
az provider register --namespace Microsoft.ContainerService
134
-
```
135
-
136
-
## Node channel known bugs
109
+
## Node channel known limitations
137
110
138
111
- Currently, when you set the [cluster auto-upgrade channel][Autoupgrade] to `node-image`, it also automatically sets the node OS auto-upgrade channel to `NodeImage`. You can't change node OS auto-upgrade channel value if your cluster auto-upgrade channel is `node-image`. In order to set the node OS auto-upgrade channel value, check the [cluster auto-upgrade channel][Autoupgrade] value isn't `node-image`.
139
112
140
113
- The `SecurityPatch` channel isn't supported on Windows OS node pools.
141
114
142
115
> [!NOTE]
143
-
> By default, any new cluster created with an API version of `06-01-2023`or later (including 06-02-preview) will set the node OS auto-upgrade channel value to `NodeImage`. Any existing clusters created with an API version earlier than `06-01-2023` will have the node OS auto-upgrade channel value set to `None` by default.
116
+
> Use CLI version 2.61.0 or above for the `SecurityPatch` channel.
144
117
145
118
146
119
## Node OS planned maintenance windows
@@ -174,6 +147,10 @@ To view the status of your node OS auto upgrades, look up [activity logs][monito
174
147
175
148
On the `Unmanaged` channel, AKS has no control over how and when the security updates are delivered. With `SecurityPatch`, the security updates are fully tested and follow safe deployment practices. `SecurityPatch` also honors maintenance windows. For more details, see [Increased security and resiliency of Canonical workloads on Azure][Blog].
176
149
150
+
* Does `SecurityPatch` always lead to a reimage of my nodes?
151
+
152
+
AKS limits reimages to only when absolutely necessary, such as certain kernel packages that may require a reimage to get fully applied. `SecurityPatch` is designed to minimize disruptions as much as possible. If AKS decides reimaging nodes isn't necessary, it will patch nodes live without draining pods and no VHD update is performed in such cases.
153
+
177
154
* How do I know if a `SecurityPatch` or `NodeImage` upgrade is applied on my node?
178
155
179
156
Run the following command to obtain node labels:
@@ -219,3 +196,4 @@ For a detailed discussion of upgrade best practices and other considerations, se
0 commit comments