Skip to content

Commit 206ca87

Browse files
committed
Acrolinx improvements
1 parent 3abdbf5 commit 206ca87

File tree

2 files changed

+16
-16
lines changed

2 files changed

+16
-16
lines changed

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

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -9,14 +9,14 @@ ms.author: viniap
99

1010
# Upgrade Kubernetes workloads from Windows Server 2019 to 2022
1111

12-
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.
12+
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 and other important aspects.
1313

1414
> [!NOTE]
1515
> Windows Server 2019 is being retired after Kubernetes version 1.32 reaches end of life (EOL) and won't be supported in future releases. For more information about this retirement, see the [AKS release notes][aks-release-notes].
1616
1717
## Limitations
1818

19-
Windows Server 2019 and Windows Server 2022 cannot co-exist on the same node pool on AKS. A new node pool must be created to host the new OS version. It's important that you match the permissions and access of the previous node pool to the new one.
19+
Windows Server 2019 and Windows Server 2022 can't co-exist on the same node pool on AKS. A new node pool must be created to host the new OS version. It's important that you match the permissions and access of the previous node pool to the new one.
2020

2121
## Before you begin
2222

@@ -30,7 +30,7 @@ Windows Server 2019 and Windows Server 2022 cannot co-exist on the same node poo
3030
3131
## Add a Windows Server 2022 node pool to the existing cluster
3232

33-
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.
33+
Windows Server 2019 and 2022 can't co-exist on the same node pool on AKS. To upgrade your application, you need a separate node pool for Windows Server 2022.
3434
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).
3535

3636
## Update your YAML file
@@ -42,7 +42,7 @@ Node Selector is the most common and recommended option for placement of Windows
4242
"kubernetes.io/os": windows
4343
```
4444
45-
The above annotation will find *any* Windows node available and place the pod on that node (of course, following all other scheduling rules). When upgrading from Windows Server 2019 to Windows Server 2022, you need to enforce not only the placement on a Windows node, but also on a node that is running the latest OS version. To accomplish this, one option is to use a different annotation:
45+
The above annotation finds *any* Windows node available and place the pod on that node (following all other scheduling rules). When upgrading from Windows Server 2019 to Windows Server 2022, you need to enforce not only the placement on a Windows node, but also on a node that is running the latest OS version. To accomplish this, one option is to use a different annotation:
4646
4747
```yaml
4848
nodeSelector:
@@ -52,16 +52,16 @@ The above annotation will find *any* Windows node available and place the pod on
5252
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.
5353
5454
> [!NOTE]
55-
> 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.
55+
> You should leverage the same YAML file you used to deploy the application in the first place - this ensures no other configuration is changed, only the nodeSelector and the image to be used.
5656
5757
## Apply the new YAML file to the existing workload
5858
59-
If you have an application deployed already, ensure you follow the steps recommended above to deploy a new node pool with Windows Server 2022 nodes. Once deployed, your environment will show Windows Server 2019 and 2022 nodes, with the workloads running on the 2019 nodes:
59+
If you have an application deployed already, follow the recommended steps to deploy a new node pool with Windows Server 2022 nodes. Once deployed, your environment will show Windows Server 2019 and 2022 nodes, with the workloads running on the 2019 nodes:
6060
6161
```console
6262
kubectl get nodes -o wide
6363
```
64-
The command above will show all nodes on your AKS cluster with additional details on the output:
64+
This command shows all nodes on your AKS cluster with extra details on the output:
6565

6666
```output
6767
NAME STATUS ROLES AGE VERSION INTERNAL-IP EXTERNAL-IP OS-IMAGE KERNEL-VERSION CONTAINER-RUNTIME
@@ -80,18 +80,18 @@ With the Windows Server 2022 node pool deployed and the YAML file configured, yo
8080
kubectl apply -f <filename>
8181
```
8282

83-
The command above should return a "configured" status for the deployment:
83+
This command should return a "configured" status for the deployment:
8484

8585
```output
8686
deployment.apps/sample configured
8787
service/sample unchanged
8888
```
89-
At this point, AKS will start the process of terminating the existing pods and deploying new pods to the Windows Server 2022 nodes. You can check the status of your deployment by running:
89+
At this point, AKS starts the process of terminating the existing pods and deploying new pods to the Windows Server 2022 nodes. You can check the status of your deployment by running:
9090

9191
```console
9292
kubectl get pods -o wide
9393
```
94-
The command above return the status of the pods on the default namespace. You might need to change the command above to list the pods on specific namespaces.
94+
This command return the status of the pods on the default namespace. You might need to change the command above to list the pods on specific namespaces.
9595

9696
```output
9797
NAME READY STATUS RESTARTS AGE IP NODE NOMINATED NODE READINESS GATES
@@ -102,6 +102,6 @@ sample-7794bfcc4c-sh78c 1/1 Running 0 2m49s 10.240.0.228 ak
102102

103103
## Active Directory, gMSA and Managed Identity implications
104104

105-
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.
105+
If you're using Group Managed Service Accounts (gMSA), 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.
106106

107107
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](../active-directory/managed-identities-azure-resources/how-to-view-managed-identity-activity.md).

articles/aks/use-windows-hpc.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -18,13 +18,13 @@ A privileged DaemonSet can carry out changes or monitor a Linux host on Kubernet
1818

1919
* HostProcess containers require Kubernetes 1.23 or greater.
2020
* HostProcess containers require `containerd` 1.6 or higher container runtime.
21-
* HostProcess pods can only contain HostProcess containers. This is a current limitation of the Windows operating system. Non-privileged Windows containers can't share a vNIC with the host IP namespace.
21+
* HostProcess pods can only contain HostProcess containersdue to a limitation on the Windows operating system.Non-privileged Windows containers can't share a vNIC with the host IP namespace.
2222
* HostProcess containers run as a process on the host. The only isolation those containers have from the host is the resource constraints imposed on the HostProcess user account.
2323
* Filesystem isolation and Hyper-V isolation aren't supported for HostProcess containers.
2424
* Volume mounts are supported and are mounted under the container volume. See Volume Mounts.
2525
* A limited set of host user accounts are available for Host Process containers by default. See Choosing a User Account.
2626
* Resource limits such as disk, memory, and cpu count, work the same way as fashion as processes on the host.
27-
* Named pipe mounts and Unix domain sockets are not directly supported, but can be accessed on their host path, for example `\\.\pipe\*`.
27+
* Named pipe mounts and Unix domain sockets aren't directly supported, but can be accessed on their host path, for example `\\.\pipe\*`.
2828

2929

3030
## Run a HostProcess workload
@@ -44,7 +44,7 @@ To use HostProcess features with your deployment, set *hostProcess: true* and *h
4444
...
4545
```
4646

47-
To run an example workload that uses HostProcess features on an existing AKS cluster with Windows nodes, create `hostprocess.yaml` with the following:
47+
To run an example workload that uses HostProcess features on an existing AKS cluster with Windows nodes, create `hostprocess.yaml` with the following contents:
4848

4949
```yaml
5050
apiVersion: apps/v1
@@ -96,7 +96,7 @@ $ kubectl apply -f hostprocess.yaml
9696
daemonset.apps/privileged-daemonset created
9797
```
9898

99-
You can verify your workload use the features of HostProcess by view the pod's logs.
99+
Verify that your workload uses the features of HostProcess containers by viewing the pod's logs.
100100

101101
Use `kubectl` to find the name of the pod in the `kube-system` namespace.
102102

@@ -118,7 +118,7 @@ Process has admin rights:
118118

119119
## Next steps
120120

121-
For more details on HostProcess containers and Microsoft's contribution to Kubernetes upstream, see the [Alpha in v1.22: Windows HostProcess Containers][blog-post].
121+
For more information on HostProcess containers and Microsoft's contribution to Kubernetes upstream, see the [Alpha in v1.22: Windows HostProcess Containers][blog-post].
122122

123123

124124
<!-- LINKS - External -->

0 commit comments

Comments
 (0)