Skip to content

Commit f690536

Browse files
authored
Update windows-support.adoc with access entry considerations (#924)
* Update windows-support.adoc add consideration for access entries type * Update windows-support.adoc * fixup
1 parent e95fdf3 commit f690536

File tree

1 file changed

+23
-6
lines changed

1 file changed

+23
-6
lines changed

latest/ug/clusters/windows-support.adoc

Lines changed: 23 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,11 @@ include::../attributes.txt[]
1010
Learn how to enable and manage Windows support for your Amazon EKS cluster to run Windows containers alongside Linux containers.
1111
--
1212

13+
Learn how to enable and manage Windows support for your Amazon EKS cluster to run Windows containers alongside Linux containers.
14+
15+
16+
== Considerations
17+
1318
Before deploying Windows nodes, be aware of the following considerations.
1419

1520
* EKS Auto Mode does not support Windows nodes
@@ -28,13 +33,23 @@ Before deploying Windows nodes, be aware of the following considerations.
2833
* The source for the controller is managed on GitHub. To contribute to, or file issues against the controller, visit the https://github.com/aws/amazon-vpc-resource-controller-k8s[project] on GitHub.
2934
* When specifying a custom AMI ID for Windows managed node groups, add `eks:kube-proxy-windows` to your {aws} IAM Authenticator configuration map. For more information, see <<mng-ami-id-conditions>>.
3035
* If preserving your available IPv4 addresses is crucial for your subnet, refer to https://aws.github.io/aws-eks-best-practices/windows/docs/networking/#ip-address-management[EKS Best Practices Guide - Windows Networking IP Address Management] for guidance.
36+
* Considerations for EKS Access Entries
37+
** If you use a different Node IAM Role for Windows instances, EKS will automatically create the required Windows Access Entry.
38+
** Access Entries for use with Windows nodes need the type of `EC2_WINDOWS`. For more information, see <<creating-access-entries>>.
39+
+
40+
To create an access entry for a Windows node:
41+
+
42+
[source,bash]
43+
----
44+
aws eks create-access-entry --cluster-name my-cluster --principal-arn arn:aws:iam::111122223333:role/<role-name> --type EC2_Windows
45+
----
3146

47+
== Prerequisites
3248

3349
* An existing cluster.
3450
* Your cluster must have at least one (we recommend at least two) Linux node or Fargate Pod to run CoreDNS. If you enable legacy Windows support, you must use a Linux node (you can't use a Fargate Pod) to run CoreDNS.
3551
* An existing <<cluster-iam-role,Amazon EKS cluster IAM role>>.
3652

37-
3853
[#enable-windows-support]
3954
== Enable Windows support
4055
. If you don't have Amazon Linux nodes in your cluster and use security groups for Pods, skip to the next step. Otherwise, confirm that the `AmazonEKSVPCResourceController` managed policy is attached to your <<cluster-iam-role,cluster role>>. Replace [.replaceable]`eksClusterRole` with your cluster role name.
@@ -71,7 +86,8 @@ aws iam attach-role-policy \
7186
--role-name eksClusterRole \
7287
--policy-arn {arn-aws}iam::aws:policy/AmazonEKSVPCResourceController
7388
----
74-
. Create a file named [.replaceable]`vpc-resource-controller-configmap.yaml` with the following contents.
89+
. Update the VPC CNI ConfigMap to enable Windows IPAM:
90+
.. Create a file named [.replaceable]`vpc-resource-controller-configmap.yaml` with the following contents.
7591
+
7692
[source,yaml,subs="verbatim,attributes"]
7793
----
@@ -83,13 +99,14 @@ metadata:
8399
data:
84100
enable-windows-ipam: "true"
85101
----
86-
. Apply the `ConfigMap` to your cluster.
102+
.. Apply the `ConfigMap` to your cluster.
87103
+
88104
[source,bash,subs="verbatim,attributes"]
89105
----
90106
kubectl apply -f vpc-resource-controller-configmap.yaml
91107
----
92-
. Verify that your `aws-auth` `ConfigMap` contains a mapping for the instance role of the Windows node to include the `eks:kube-proxy-windows` RBAC permission group. You can verify by running the following command.
108+
. If your cluster has the authentication mode set to enable the `aws-auth` configmap:
109+
** Verify that your `aws-auth` `ConfigMap` contains a mapping for the instance role of the Windows node to include the `eks:kube-proxy-windows` RBAC permission group. You can verify by running the following command.
93110
+
94111
[source,bash,subs="verbatim,attributes"]
95112
----
@@ -117,7 +134,7 @@ data:
117134
----
118135
+
119136
You should see `eks:kube-proxy-windows` listed under groups. If the group isn't specified, you need to update your `ConfigMap` or create it to include the required group. For more information about the `aws-auth` `ConfigMap`, see <<aws-auth-configmap>>.
120-
137+
. If your cluster has the authentication mode set to disable the `aws-auth` configmap, then you can use EKS Access Entries. Create a new node role for use with Windows instances, and EKS will automatically create an access entry of type `EC2_WINDOWS`.
121138

122139
[#windows-support-pod-deployment]
123140
== Deploy Windows Pods
@@ -163,4 +180,4 @@ You can enable higher Pod density on Windows nodes by enabling IP prefix delegat
163180
(Number of private IPv4 addresses assigned to the interface attached to the node - 1) * 16
164181
----
165182

166-
With this significantly larger number of available IP addresses, available IP addresses shouldn't limit your ability to scale the number of Pods on your nodes. For more information, see <<cni-increase-ip-addresses>>.
183+
With this significantly larger number of available IP addresses, available IP addresses shouldn't limit your ability to scale the number of Pods on your nodes. For more information, see <<cni-increase-ip-addresses>>.

0 commit comments

Comments
 (0)