EKS Install
NOTE: This is for the lab purpose, not for PROD purpose.
How to provision EKS Cluster?
Below software are mandatory to provision EKS Cluster.
Eksctl
AWS CLI V2
Kubectl
We can create one EC2 Server and use it as work station to create EKS cluster.
Steps:
Create IAM Admin user with CLI access, It generates Access Key and Secret Key. Don't keep this in any version control like Github, Gitlab, etc.
Install AWS CLI, by default AWS instance gets V1, We need to upgrade to V2.
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install --bin-dir /usr/local/bin --install-dir /usr/local/aws-cli --update
Logout and Login again.
Install latest eksctl command.
curl --silent --location "https://github.com/weaveworks/eksctl/releases/latest/download/eksctl_$(uname -s)_amd64.tar.gz" | tar xz -C /tmp
sudo mv /tmp/eksctl /usr/local/bin
eksctl version
Install kubectl command maxium one version less than EKS version.
curl -O https://s3.us-west-2.amazonaws.com/amazon-eks/1.24.10/2023-01-30/bin/linux/amd64/kubectl
chmod +x kubectl
sudo mv kubectl /usr/local/bin/kubectl
eksctl is the popular tool to provision EKS cluster. We make use of spot instances to save the cost.
spot-cluster.yaml
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: spot-cluster
region: ap-south-1
managedNodeGroups:
-
name: spot-1
spot: true
ssh:
publicKeyName: my-ec2-keypair
To create cluster with above config file.
eksctl create cluster --config-file=[file-name].yaml
NOTE: Don't forget to delete the cluster.