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/upgrade-windows-2019-2022.md
+10-10Lines changed: 10 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Upgrade container apps from Windows Server 2019 to 2022
2
+
title: Upgrade Kubernetes workloads from Windows Server 2019 to 2022
3
3
description: Learn how to upgrade the OS version for Windows workloads on AKS
4
4
services: container-service
5
5
ms.topic: article
@@ -8,7 +8,7 @@ ms.author: viniap
8
8
9
9
---
10
10
11
-
# Upgrade container apps from Windows Server 2019 to 2022
11
+
# Upgrade Kubernetes workloads from Windows Server 2019 to 2022
12
12
13
13
Upgrading the OS version of a running Windows workload on Azure Kubernetes Service (AKS) requires you to deploy a new node pool as Windows versions must match on each node pool. This article describes the steps to upgrade the OS version for Windows workloads as well as other important aspects.
14
14
@@ -18,22 +18,22 @@ Windows Server 2019 and Windows Server 2022 cannot co-exist on the same node poo
18
18
19
19
## Before you begin
20
20
21
-
- Update the FROM statement on your docker file to the new OS version.
21
+
- Update the FROM statement on your dockerfile to the new OS version.
22
22
- Check your application and verify that the container app works on the new OS version.
23
23
- Deploy the verified container app on AKS to a development or testing environment.
24
24
- Take note of the new image name or tag. This will be used below to replace the 2019 version of the image on the YAML file to be deployed to AKS.
25
25
26
26
> [!NOTE]
27
-
> Check out the documentation on how to [write](https://docs.microsoft.com/virtualization/windowscontainers/manage-docker/manage-windows-dockerfile) and [optimize](https://docs.microsoft.com/virtualization/windowscontainers/manage-docker/optimize-windows-dockerfile)a docker file for Windows workloads.
27
+
> Check out [Dockerfile on Windows](virtualization/windowscontainers/manage-docker/manage-windows-dockerfile) and [Optimize Windows Dockerfiles](/virtualization/windowscontainers/manage-docker/optimize-windows-dockerfile)to learn more about how to build a dockerfile for Windows workloads.
28
28
29
29
## Add a Windows Server 2022 node pool to the existing cluster
30
30
31
31
Windows Server 2019 and 2022 cannot co-exist on the same node pool on AKS. To upgrade your application, you need a separate node pool for Windows Server 2022.
32
-
Check out the [documentation](https://docs.microsoft.com/azure/aks/learn/quick-windows-container-deploy-cli#add-a-windows-server-2022-node-pool-preview)on how to add a new Windows Server 2022 node pool to an existing AKS cluster.
32
+
For more information on how to add a new Windows Server 2022 node pool to an existing AKS cluster, see [Add a Windows Server 2022 node pool](/learn/quick-windows-container-deploy-cli.md).
33
33
34
34
## Update your YAML file
35
35
36
-
Currently, there are a few options to deploy Windows applications on AKS and ensure the Windows pods will run on the Windows nodes, such as Node Selector and Taints and Tolerations. Node Selector is the most common option as it enforces the placement of Windows pods on Windows nodes. However, currently the recommendation to enforce that placement is made with the following annotation to YAML files:
36
+
Node Selector is the most common and recommended option for placement of Windows pods on Windows nodes. To use Node Selector, make the following annotation to your YAML files:
37
37
38
38
```yaml
39
39
nodeSelector:
@@ -47,7 +47,7 @@ The above annotation will find *any* Windows node available and place the pod on
47
47
"kubernetes.azure.com/os-sku": Windows2022
48
48
```
49
49
50
-
Once you update the nodeSelector on the YAML file, you should also update the container image to be used. You can get this information from the previous step on which you created a new version of the containerized application by changing the FROM statement on your docker file.
50
+
Once you update the nodeSelector on the YAML file, you should also update the container image to be used. You can get this information from the previous step on which you created a new version of the containerized application by changing the FROM statement on your dockerfile.
51
51
52
52
> [!NOTE]
53
53
> You should leverage the same YAML file you used to deploy the application in the first place - this will ensure no other configuration is changed, only the nodeSelector and the image to be used.
@@ -59,7 +59,7 @@ If you have an application deployed already, ensure you follow the steps recomme
59
59
```console
60
60
kubectl get nodes -o wide
61
61
```
62
-
The command above will show all nodes on your AKS clusterm with additional details on the output:
62
+
The command above will show all nodes on your AKS cluster with additional details on the output:
63
63
64
64
```output
65
65
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
## Active Directory, gMSA and Managed Identity implications
102
102
103
-
If you are leveraging Group Managed Service Accounts (gMSA) you will need to update the Managed Identity configuration for the new node pool. gMSA uses a secret (user account and password) so the node on which the Windows pod is running can authenticate the container against AD. To access that secret on Azure Key Vault, the node uses a Managed Identity that allows the node to access the resource. Since Managed Identities are configured per node pool, and the pod now resides on a new node pool, you need to update that configuration. Check out the documentation on [gMSA on AKS](https://docs.microsoft.com/azure/aks/use-group-managed-service-accounts) for more information.
103
+
If you are leveraging Group Managed Service Accounts (gMSA) you will need to update the Managed Identity configuration for the new node pool. gMSA uses a secret (user account and password) so the node on which the Windows pod is running can authenticate the container against Active Directory. To access that secret on Azure Key Vault, the node uses a Managed Identity that allows the node to access the resource. Since Managed Identities are configured per node pool, and the pod now resides on a new node pool, you need to update that configuration. Check out [Enable Group Managed Service Accounts (GMSA) for your Windows Server nodes on your Azure Kubernetes Service (AKS) cluster](/use-group-managed-service-accounts.md) for more information.
104
104
105
-
The same principal applies to Managed Identities used for any other pod/node pool when accessing other Azure resources. Any access provided via Managed Identity needs to be updated to reflect the new node pool. You can use the [documentation](https://docs.microsoft.com/azure/active-directory/managed-identities-azure-resources/how-to-view-managed-identity-activity) on how to view update and sign-in activities for Managed Identities.
105
+
The same principle applies to Managed Identities used for any other pod/node pool when accessing other Azure resources. Any access provided via Managed Identity needs to be updated to reflect the new node pool. To view update and sign-in activities, see [How to view Managed Identity activity](/azure/active-directory/managed-identities-azure-resources/how-to-view-managed-identity-activity).
0 commit comments