Install Calico on the Windows node

In this module, we will install Calico on the windows node.

List Amazon EKS cluster nodes and find the windows node.

kubectl get nodes -l -L

NAME                                          STATUS   ROLES    AGE   VERSION               OS   Ready    <none>   25m   v1.17.12-eks-7684af   windows

SSH into nodes using SSM via the AWS Console by finding the windows node in the list of running EC2 instances, select the instance named “eksworkshop-eksctl-windows-ng-Node” and click Connect

Windows EC2 node

Then select ‘Session Manager’ and connect

EC2 Connect Session Manager

This will open a new browser tab with a powershell prompt on the Node. Now we will use that Powershell window to install kubectl on the node

mkdir c:\k
Invoke-WebRequest -OutFile c:\k\kubectl.exe
$ENV:PATH += ";C:\k"

Now we will download and install Calico

Invoke-WebRequest -OutFile c:\install-calico-windows.ps1
C:/install-calico-windows.ps1 -ServiceCidr -DNSServerIPs

Verify the install

Get-Service -Name Calico*, kube*

We should get the following output:

Status   Name            DisplayName
------   ----            ------------
Running  CalicoNode      Calico Windows Startup
Running  CalicoFelix     Calico Windows Agent
Running  kubelet         kubelet service
Running  kube-proxy      kube-proxy service

Now we have Calico fully installed. Close the EC2 Connect window and return to Cloud9.