This procedure only works for clusters that were created with eksctl
and assumes that your eksctl
version is 0.24.0 or later.
You can check your version with the following command
eksctl version
The next command will deploy the VPC resource controller and VPC admission controller webhook that are required on Amazon EKS clusters to run Windows workloads.
eksctl utils \
install-vpc-controllers \
--cluster eksworkshop-eksctl \
--approve
Create your node group with the following command
mkdir ~/environment/windows
cat << EoF > ~/environment/windows/windows_nodes.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: eksworkshop-eksctl
region: ${AWS_REGION}
nodeGroups:
- name: windows-ng
amiFamily: WindowsServer2004CoreContainer
desiredCapacity: 1
instanceType: t2.large
ssh:
enableSsm: true
EoF
eksctl create nodegroup -f ~/environment/windows/windows_nodes.yaml
You can verify that the Windows node has been added to your cluster by using the command line
kubectl get nodes -l kubernetes.io/os=windows -L kubernetes.io/os
Notice the Operating system in the OS column
Or by using the AWS EC2 console