Skip to content

Commit 2a4a282

Browse files
authored
Merge pull request #264429 from MicrosoftDocs/main
Publish to live, Sunday 4 AM PST, 1/28
2 parents 8ed10cb + 895c153 commit 2a4a282

File tree

101 files changed

+517
-818
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

101 files changed

+517
-818
lines changed

.openpublishing.redirection.defender-for-cloud.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -915,6 +915,11 @@
915915
"redirect_url": "/azure/defender-for-cloud/managing-and-responding-alerts",
916916
"redirect_document_id": true
917917
},
918+
{
919+
"source_path_from_root": "/articles/defender-for-cloud/how-to-use-the-classic-connector.md",
920+
"redirect_url": "/azure/defender-for-cloud/multicloud",
921+
"redirect_document_id": false
922+
},
918923
{
919924
"source_path_from_root": "/articles/defender-for-cloud/how-to-migrate-to-built-in.md",
920925
"redirect_url": "/azure/defender-for-cloud/how-to-transition-to-built-in",

articles/aks/TOC.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -660,7 +660,7 @@
660660
items:
661661
- name: Upgrade an AKS cluster
662662
href: upgrade-aks-cluster.md
663-
- name: Upgrade the node image
663+
- name: Upgrade node OS images
664664
href: node-image-upgrade.md
665665
- name: Customize node surge upgrade
666666
href: upgrade-aks-cluster.md#customize-node-surge-upgrade
@@ -672,9 +672,9 @@
672672
href: auto-upgrade-cluster.md
673673
- name: Use Planned Maintenance to schedule and control upgrades
674674
href: planned-maintenance.md
675-
- name: Automatically upgrade AKS cluster node operating system images
676-
href: auto-upgrade-node-image.md
677-
- name: Upgrade the node image automatically with GitHub Actions
675+
- name: Automatically upgrade AKS cluster node OS images
676+
href: auto-upgrade-node-os-image.md
677+
- name: Upgrade node OS images automatically with GitHub Actions
678678
href: node-upgrade-github-actions.md
679679

680680
- name: Azure Linux container host for AKS

articles/aks/auto-upgrade-cluster.md

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,13 +26,13 @@ AKS follows a strict supportability versioning window. With properly selected au
2626

2727
You can specify cluster auto-upgrade specifics using the following guidance. The upgrades occur based on your specified cadence and are recommended to remain on supported Kubernetes versions.
2828

29-
AKS also initiates auto-upgrades for unsupported clusters. When a cluster in an n-3 version (where n is the latest supported AKS GA minor version) is about to drop to n-4, AKS automatically upgrades the cluster to n-2 to remain in an AKS support [policy][supported-kubernetes-versions]. Automatically upgrading a platform supported cluster to a supported version is enabled by default. Stopped nodepools will be upgraded during an auto-upgrade operation. The upgrade will apply to nodes when the node pool is started. To minimize disruptions, set up [maintenance windows][planned-maintenance].
29+
AKS also initiates auto-upgrades for unsupported clusters. When a cluster in an n-3 version (where n is the latest supported AKS GA minor version) is about to drop to n-4, AKS automatically upgrades the cluster to n-2 to remain in an AKS support [policy][supported-kubernetes-versions]. Automatically upgrading a platform supported cluster to a supported version is enabled by default. Stopped node pools will be upgraded during an auto-upgrade operation. The upgrade will apply to nodes when the node pool is started. To minimize disruptions, set up [maintenance windows][planned-maintenance].
3030

3131
## Cluster auto-upgrade limitations
3232

3333
If you’re using cluster auto-upgrade, you can no longer upgrade the control plane first, and then upgrade the individual node pools. Cluster auto-upgrade always upgrades the control plane and the node pools together. You can't upgrade the control plane only. Running the `az aks upgrade --control-plane-only` command raises the following error: `NotAllAgentPoolOrchestratorVersionSpecifiedAndUnchanged: Using managed cluster api, all Agent pools' OrchestratorVersion must be all specified or all unspecified. If all specified, they must be stay unchanged or the same with control plane.`
3434

35-
If using the `node-image` cluster auto-upgrade channel or the `NodeImage` node image auto-upgrade channel, Linux [unattended upgrades][unattended-upgrades] is disabled by default.
35+
If using the `node-image` cluster auto-upgrade channel or the `NodeImage` node image auto-upgrade channel, Linux [unattended upgrades][unattended-upgrades] are disabled by default.
3636

3737
## Use cluster auto-upgrade
3838

@@ -46,7 +46,7 @@ The following upgrade channels are available:
4646
| `patch`| automatically upgrades the cluster to the latest supported patch version when it becomes available while keeping the minor version the same.| For example, if a cluster runs version *1.17.7*, and versions *1.17.9*, *1.18.4*, *1.18.6*, and *1.19.1* are available, the cluster upgrades to *1.17.9*.|
4747
| `stable`| automatically upgrades the cluster to the latest supported patch release on minor version *N-1*, where *N* is the latest supported minor version.| For example, if a cluster runs version *1.17.7* and versions *1.17.9*, *1.18.4*, *1.18.6*, and *1.19.1* are available, the cluster upgrades to *1.18.6*.|
4848
| `rapid`| automatically upgrades the cluster to the latest supported patch release on the latest supported minor version.| In cases where the cluster's Kubernetes version is an *N-2* minor version, where *N* is the latest supported minor version, the cluster first upgrades to the latest supported patch version on *N-1* minor version. For example, if a cluster runs version *1.17.7* and versions *1.17.9*, *1.18.4*, *1.18.6*, and *1.19.1* are available, the cluster first upgrades to *1.18.6*, then upgrades to *1.19.1*.|
49-
| `node-image`| automatically upgrades the node image to the latest version available.| Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes don't get the new images unless you do a node image upgrade. Turning on the node-image channel automatically updates your node images whenever a new version is available. If you use this channel, Linux [unattended upgrades] are disabled by default. Node image upgrades will work on patch versions that are deprecated, so long as the minor Kubernetes version is still supported.|
49+
| `node-image`| automatically upgrades the node image to the latest version available.| Microsoft provides patches and new images for image nodes frequently (usually weekly), but your running nodes don't get the new images unless you do a node image upgrade. Turning on the node-image channel automatically updates your node images whenever a new version is available. If you use this channel, Linux [unattended upgrades] are disabled by default. Node image upgrades work on patch versions that are deprecated, so long as the minor Kubernetes version is still supported.|
5050

5151
> [!NOTE]
5252
>
@@ -106,6 +106,8 @@ Use the following best practices to help maximize your success when using auto-u
106106
* Follow [PDB best practices][pdb-best-practices].
107107
* For upgrade troubleshooting information, see the [AKS troubleshooting documentation][aks-troubleshoot-docs].
108108
109+
For a detailed discussion of upgrade best practices and other considerations, see [AKS patch and upgrade guidance][upgrade-operators-guide].
110+
109111
<!-- INTERNAL LINKS -->
110112
[supported-kubernetes-versions]: ./supported-kubernetes-versions.md
111113
[upgrade-aks-cluster]: ./upgrade-cluster.md
@@ -115,6 +117,7 @@ Use the following best practices to help maximize your success when using auto-u
115117
[az-aks-create]: /cli/azure/aks#az_aks_create
116118
[az-aks-update]: /cli/azure/aks#az_aks_update
117119
[aks-troubleshoot-docs]: /support/azure/azure-kubernetes/welcome-azure-kubernetes
120+
[upgrade-operators-guide]: /azure/architecture/operator-guides/aks/aks-upgrade-practices
118121
119122
<!-- EXTERNAL LINKS -->
120123
[pdb-best-practices]: https://kubernetes.io/docs/tasks/run-application/configure-pdb/

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

Lines changed: 14 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The following upgrade channels are available. You're allowed to choose one of th
2929
|Channel|Description|OS-specific behavior|
3030
|---|---|
3131
| `None`| Your nodes don't have security updates applied automatically. This means you're solely responsible for your security updates.|N/A|
32-
| `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`.|
32+
| `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].|
3333
| `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.|
3434
| `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.|
3535

@@ -55,12 +55,15 @@ The default cadence means there's no planned maintenance window applied.
5555
| `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.|
5656
| `NodeImage`|AKS|Weekly.|
5757

58+
> [!NOTE]
59+
> 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.
60+
5861
## SecurityPatch channel requirements
5962

6063
To use the `SecurityPatch` channel, your cluster must support these requirements.
6164
- Must be using API version `11-02-preview` or later
6265

63-
- If using Azure CLI, the `aks-preview` CLI extension version `0.5.127` or later must be installed
66+
- If using Azure CLI, the `aks-preview` CLI extension version `0.5.166` or later must be installed
6467

6568
- The `NodeOsUpgradeChannelPreview` feature flag must be enabled on your subscription
6669

@@ -133,17 +136,21 @@ On the `Unmanaged` channel, AKS has no control over how and when the security up
133136
kubectl get nodes --show-labels
134137
```
135138

136-
Among the labels in the output, you'll see a line similar to the following:
139+
Among the returned labels, you should see a line similar to the following output:
137140

138141
```output
139142
kubernetes.azure.com/node-image-version=AKSUbuntu-2204gen2containerd-202311.07.0
140143
```
141144

142-
Here, the base node image version is `AKSUbuntu-2204gen2containerd`. If applicable, the security patch version typically follows. In the above example it is `202311.07.0`.
145+
Here, the base node image version is `AKSUbuntu-2204gen2containerd`. If applicable, the security patch version typically follows. In the above example, it's `202311.07.0`.
146+
147+
The same details also be looked up in the Azure portal under the node label view:
148+
149+
:::image type="content" source="./media/auto-upgrade-node-os-image/nodeimage-securitypatch-inline.png" alt-text="A screenshot of the nodes page for an AKS cluster in the Azure portal. The label for node image version clearly shows the base node image and the latest applied security patch date." lightbox="./media/auto-upgrade-node-os-image/nodeimage-securitypatch.png":::
143150

144-
The same details also be looked up in the Azure portal under the node label view as illustrated below.
151+
## Next steps
145152

146-
:::image type="content" source="./media/auto-upgrade-node-os-image/nodeimage-securitypatch-inline.png" alt-text="A screenshot of the nodes page for an AKS cluster in the Azure portal. The label for node image version clearly shows the base node image as well as the latest applied security patch date." lightbox="./media/auto-upgrade-node-os-image/nodeimage-securitypatch.png":::
153+
For a detailed discussion of upgrade best practices and other considerations, see [AKS patch and upgrade guidance][upgrade-operators-guide].
147154

148155

149156
<!-- LINKS -->
@@ -160,6 +167,7 @@ The same details also be looked up in the Azure portal under the node label view
160167
[monitor-aks]: ./monitor-aks-reference.md
161168
[aks-eventgrid]: ./quickstart-event-grid.md
162169
[aks-upgrade]: ./upgrade-cluster.md
170+
[upgrade-operators-guide]: /azure/architecture/operator-guides/aks/aks-upgrade-practices
163171

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

articles/aks/node-image-upgrade.md

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ ms.date: 03/28/2023
88

99
# Upgrade Azure Kubernetes Service (AKS) node images
1010

11-
Azure Kubernetes Service (AKS) regularly provides new node images, so it's beneficial to upgrade your node images frequently to use the latest AKS features. Linux node images are updated weekly, and Windows node images are updated monthly. Image upgrade announcements are included in the [AKS release notes](https://github.com/Azure/AKS/releases), and it can take up to a week for these updates to be rolled out across all regions. Node image upgrades can also be performed automatically and scheduled using planned maintenance. For more details, see [Automatically upgrade node images][auto-upgrade-node-image].
11+
Azure Kubernetes Service (AKS) regularly provides new node images, so it's beneficial to upgrade your node images frequently to use the latest AKS features. Linux node images are updated weekly, and Windows node images are updated monthly. Image upgrade announcements are included in the [AKS release notes](https://github.com/Azure/AKS/releases), and it can take up to a week for these updates to be rolled out across all regions. Node image upgrades can also be performed automatically and scheduled using planned maintenance. For more information, see [Automatically upgrade node images][auto-upgrade-node-image].
1212

1313
This article shows you how to upgrade AKS cluster node images and how to update node pool images without upgrading the Kubernetes version. For information on upgrading the Kubernetes version for your cluster, see [Upgrade an AKS cluster][upgrade-cluster].
1414

@@ -28,7 +28,7 @@ az aks nodepool get-upgrades \
2828
--resource-group myResourceGroup
2929
```
3030

31-
The output will show the `latestNodeImageVersion`, like in the following example:
31+
The output shows the `latestNodeImageVersion`, like in the following example:
3232

3333
```output
3434
{
@@ -77,7 +77,7 @@ az aks upgrade \
7777
You can check the status of the node images using the `kubectl get nodes` command.
7878

7979
>[!NOTE]
80-
> This command may differ slightly depending on the shell you use. See the [Kubernetes JSONPath documentation][kubernetes-json-path] for more information on Windows/PowerShell environments.
80+
> This command may differ slightly depending on the shell you use. For more information on Windows and PowerShell environments, see the [Kubernetes JSONPath documentation][kubernetes-json-path].
8181
8282
```bash
8383
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
@@ -106,7 +106,7 @@ az aks nodepool upgrade \
106106
You can check the status of the node images with the `kubectl get nodes` command.
107107

108108
>[!NOTE]
109-
> This command may differ slightly depending on the shell you use. See the [Kubernetes JSONPath documentation][kubernetes-json-path] for more information on Windows/PowerShell environments.
109+
> This command may differ slightly depending on the shell you use. For more information on Windows and PowerShell environments, see the [Kubernetes JSONPath documentation][kubernetes-json-path].
110110
111111
```bash
112112
kubectl get nodes -o jsonpath='{range .items[*]}{.metadata.name}{"\t"}{.metadata.labels.kubernetes\.azure\.com\/node-image-version}{"\n"}{end}'
@@ -123,7 +123,7 @@ az aks nodepool show \
123123

124124
## Upgrade node images with node surge
125125

126-
To speed up the node image upgrade process, you can upgrade your node images using a customizable node surge value. By default, AKS uses one additional node to configure upgrades.
126+
To speed up the node image upgrade process, you can upgrade your node images using a customizable node surge value. By default, AKS uses one extra node to configure upgrades.
127127

128128
If you'd like to increase the speed of upgrades, use the [`az aks nodepool update`][az-aks-nodepool-update] command with the `--max-surge` flag to configure the number of nodes used for upgrades. To learn more about the trade-offs of various `--max-surge` settings, see [Customize node surge upgrade][max-surge].
129129

@@ -157,6 +157,7 @@ az aks nodepool show \
157157
- Learn how to upgrade the Kubernetes version with [Upgrade an AKS cluster][upgrade-cluster].
158158
- [Automatically apply cluster and node pool upgrades with GitHub Actions][github-schedule].
159159
- Learn more about multiple node pools with [Create multiple node pools][use-multiple-node-pools].
160+
- For a detailed discussion of upgrade best practices and other considerations, see [AKS patch and upgrade guidance][upgrade-operators-guide].
160161

161162
<!-- LINKS - external -->
162163
[kubernetes-json-path]: https://kubernetes.io/docs/reference/kubectl/jsonpath/
@@ -173,3 +174,5 @@ az aks nodepool show \
173174
[az-aks-nodepool-update]: /cli/azure/aks/nodepool#az_aks_nodepool_update
174175
[az-aks-upgrade]: /cli/azure/aks#az_aks_upgrade
175176
[az-aks-show]: /cli/azure/aks#az_aks_show
177+
[upgrade-operators-guide]: /azure/architecture/operator-guides/aks/aks-upgrade-practices
178+

0 commit comments

Comments
 (0)