A complete guide to setting up AWS EKS Clusters using Windows Nodes

A complete guide to setting up AWS EKS Clusters using Windows Nodes

September 9, 2022 Off By Nick

This blog post explains how to set-up AWS EKS Clusters using Windows Nodes. Before you can begin the setup steps, there are some prerequisites.
Prerequisites:
This guide assumes that you are familiar with AWS concepts such as CloudFormation and VPC. Awscli is required.
You will need the eksClusterRole or eksNodeRole to perform the steps below (you can choose your own name for this one).
To create them, click here and —–a hier.
I have used Git Bash to create this step-by-step guide.
This step will be explained in more detail. However, to create a successful EKS cluster with windows nodes, at least one Linux node is required.
TABLE OF CONTENTStep 1 – Creating a VPCStep 2 : Creating an EKS ClusterStep 3 : Adding the OIDC ProviderStep 4 : Configuring and managing a VPC CNI pluginStep 6 : Enabling Windows support for the cluster Step 7 : Launching self managed Windows nodesStep 7 : Running a Windows application on the nodeStep 1 : Creating VPC
This step will create the VPC and other requirements using CloudFormation (it’ll pop up a few times more). I will be adding private and public subnets to the cluster. If you prefer private or public subnets, click here and follow their steps.
To create your cluster VPC using public and private subnets
Open the AWS CloudFormation console
Select a Region that supports Amazon EKS from the navigation bar. I’ll be going along with us-east-1.
Select Create stack, With new resource (standard). Select Specify an Amazon S3 template URL to choose a template.
Paste the following URL in the text area, and then choose Next
https://amazon-eks.s3.us-west-2.amazonaws.com/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
To download the file, run this URL. You can see all resources and then choose what to add.

If you don’t like the default, choose a stack name and a VPCCIDR range.

Optionally, you can choose to tag the generated resource and review the advanced configurations available on the options page.
Go to the review page, and click Create Stack when you are satisfied.
Final output:

Step 2: Establishing an EKS cluster
We will create the cluster manually by going to EKS console page, and entering the details we require.
Name your cluster on the first page. If it has not already, you can add the role you created earlier to the cluster role. You can also add encryption and tags to the cluster.

Next, enter the VPC name you created earlier. Subnets will be automatically added. Add the ControlPlaneSecurityGroup from the dropdown box of the security group.

Select the type of endpoint access; I chose public because it was simple.

Select the version for the networking add-ons from the same page. I selected the latest version for all.

I have disabled all options for logging on the Configure Logging page.
After reviewing, click on Create. After about 15 minutes, your cluster should be up and running.

After replacing the cluster name and region code, run the following command to connect with your cluster.
aws eks update-kubeconfig \ -region \ -name

Step 3: Add the OIDC provider
This step is necessary to set up the VPC CNI plug-in and add services such as a cluster autoscaler.
Copy the OIDC URL from details tab before you set it up.

Go to the EKS console to set it up.
Open the IAM console at https://console.aws.amazon.com/iam/.
Select Identity Providersunder Access Management in the navigation panel.