Skip to content

Commit f4f6b1b

Browse files
authored
Update upgrade-windows-2019-2022.md
1 parent e44abf9 commit f4f6b1b

File tree

1 file changed

+10
-10
lines changed

1 file changed

+10
-10
lines changed

articles/aks/upgrade-windows-2019-2022.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Upgrade container apps from Windows Server 2019 to 2022
2+
title: Upgrade Kubernetes workloads from Windows Server 2019 to 2022
33
description: Learn how to upgrade the OS version for Windows workloads on AKS
44
services: container-service
55
ms.topic: article
@@ -8,7 +8,7 @@ ms.author: viniap
88

99
---
1010

11-
# Upgrade container apps from Windows Server 2019 to 2022
11+
# Upgrade Kubernetes workloads from Windows Server 2019 to 2022
1212

1313
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.
1414

@@ -18,22 +18,22 @@ Windows Server 2019 and Windows Server 2022 cannot co-exist on the same node poo
1818

1919
## Before you begin
2020

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.
2222
- Check your application and verify that the container app works on the new OS version.
2323
- Deploy the verified container app on AKS to a development or testing environment.
2424
- 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.
2525

2626
> [!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.
2828
2929
## Add a Windows Server 2022 node pool to the existing cluster
3030

3131
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).
3333

3434
## Update your YAML file
3535

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

3838
```yaml
3939
nodeSelector:
@@ -47,7 +47,7 @@ The above annotation will find *any* Windows node available and place the pod on
4747
"kubernetes.azure.com/os-sku": Windows2022
4848
```
4949
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.
5151
5252
> [!NOTE]
5353
> 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
5959
```console
6060
kubectl get nodes -o wide
6161
```
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:
6363

6464
```output
6565
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
@@ -100,6 +100,6 @@ sample-7794bfcc4c-sh78c 1/1 Running 0 2m49s 10.240.0.228 ak
100100

101101
## Active Directory, gMSA and Managed Identity implications
102102

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

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

Comments
 (0)