This getting started guide helps you to create all of the required resources to get started with Amazon EKS and connect it with a Spotinst Elastigroup to manage the underlying EC2 Instances.
Before you begin, you can install an EKS cluster manually from the AWS Console using “Step 1 – Create The EKS Cluster (Manually) ” Or, in case you want to automate the process, you can use predefined CloudFormation templates, based on your use case.
- Create a new EKS Cluster + Elastigroup (open link a new tab)
- If you already have an EKS cluster – Attach an Elastigroup to an existing EKS Cluster (open link a new tab)
Once your CloudFormation Stack is created – please jump into “Step 3 – Configure The Worker Nodes To Join The EKS Cluster”
- Create VPC for EKS, OR Alter existing VPC and security groups according to the following guides:
EKS IAM Service Role:
- Create EKS cluster, utilizing the Role you created in the previous step
- Wait for the cluster initialization
Step 2 – Connect Elastigroup as your worker Nodes
Step 3 – Configure the worker nodes to join the EKS Cluster
- Install the Spotinst Kubernetes Controller
- After the cluster creation is completed – set up a configurator map so that the worker nodes know how to join the cluster. Download the map, add the ARN of the
NodeInstanceRolefrom the stack, and apply the configuration:
Download, edit, and apply the AWS authenticator configuration map:
curl -O https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-06-05/aws-auth-cm.yaml
Open the file with your favorite text editor. Replace the
<ARN of instance role (not instance profile)> snippet with the
NodeInstanceRole value that you recorded in the previous procedure, and save the file.
apply the yaml file to your cluster
kubectl apply -f aws-auth-cm.yaml
If you receive the error
"heptio-authenticator-aws": executable file not found in $PATH, then your
kubectl is not configured for Amazon EKS. For more information, see Configure kubectl for Amazon EKS.
You’re all set! Nodes can be seen inside your cluster with
kubectl get nodes