Skip to content

Commit 1bf3dc2

Browse files
Merge pull request #274734 from kaarthis/securityp
clarity on security-patch, SDP
2 parents 50379a7 + dedbfa7 commit 1bf3dc2

File tree

1 file changed

+17
-39
lines changed

1 file changed

+17
-39
lines changed

articles/aks/auto-upgrade-node-os-image.md

Lines changed: 17 additions & 39 deletions
Original file line numberDiff line numberDiff line change
@@ -3,10 +3,10 @@ title: Auto-upgrade Node OS Images
33
description: Learn how to choose an upgrade channel that best supports your needs for cluster's node OS security and maintenance.
44
ms.topic: article
55
ms.custom: build-2023, devx-track-azurecli
6-
ms.author: nickoman
7-
author: nickomang
6+
ms.author: kaarthis
7+
author: kaarthis
88
ms.subservice: aks-upgrade
9-
ms.date: 11/22/2023
9+
ms.date: 05/10/2024
1010
---
1111

1212
# Auto-upgrade node OS images
@@ -20,19 +20,19 @@ It's best to use both cluster-level [auto-upgrades][Autoupgrade] and the node OS
2020

2121
## Channels for node OS image upgrades
2222

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

2525
> [!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.
2727
2828
The following upgrade channels are available. You're allowed to choose one of these options:
2929

3030
|Channel|Description|OS-specific behavior|
3131
|---|---|
3232
| `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|
3636

3737
## Set the node OS auto-upgrade channel on a new cluster
3838

@@ -100,47 +100,20 @@ The default cadence means there's no planned maintenance window applied.
100100
|---|---|
101101
| `Unmanaged`|OS driven security updates. AKS has no control over these updates.|Nightly around 6AM UTC for Ubuntu and Azure Linux. Monthly for Windows.|
102102
| `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.|
104104
105105
> [!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.
107107
108-
## SecurityPatch channel requirements
109108
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
137110
138111
- 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`.
139112
140113
- The `SecurityPatch` channel isn't supported on Windows OS node pools.
141114
142115
> [!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.
144117
145118
146119
## Node OS planned maintenance windows
@@ -174,6 +147,10 @@ To view the status of your node OS auto upgrades, look up [activity logs][monito
174147

175148
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].
176149

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+
177154
* How do I know if a `SecurityPatch` or `NodeImage` upgrade is applied on my node?
178155

179156
Run the following command to obtain node labels:
@@ -219,3 +196,4 @@ For a detailed discussion of upgrade best practices and other considerations, se
219196

220197
<!-- LINKS - external -->
221198
[Blog]: https://techcommunity.microsoft.com/t5/linux-and-open-source-blog/increased-security-and-resiliency-of-canonical-workloads-on/ba-p/3970623
199+

0 commit comments

Comments
 (0)