EKS Lab Setup (using Region Virginia (us-east-1))
For Lab point of view we will setup the environment as per below diagram
Step 1:- Create an IAM user and EKS Role
- Create the user with IAM with console and programmatic and download security credentials with security access id and Access key
- Permission point of view provide EKSFullAccess(There are some set of policies you need to add) and other permission as per the requirement to deal EKS with other services
- Create IAM Role for EKS
EKS (Allows EKS to manage clusters on your behalf.):- Role name :- AWSServiceRoleForAmazonEKS
EKS - Cluster AWSClusterRoleForAmazonEKS
Step 2:- Create the ssh key pair
Create SSH key value pair ( I am creating a key pair as vdevops)
Step 3:- Setup Command line Tools
- Install awscli on Ubuntu Ec2 Instance
apt install unzip -y
curl "https://awscli.amazonaws.com/awscli-exe-linux-x86_64.zip" -o "awscliv2.zip"
unzip awscliv2.zip
sudo ./aws/install
export PATH=/usr/local/bin:$PATH
aws --version
aws configure (To confiure aws credential with region=us-east-1) - Install and setup eksctl
- 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 and setup kubectl
curl -LO "https://dl.k8s.io/release/$(curl -L -s https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl"
sudo install -o root -g root -m 0755 kubectl /usr/local/bin/kubectl
kubectl version --client
Step 3:- Create first EKS Cluster using eksctl
Create a yaml file to create EKS Cluster ( I have given file name as eks.yaml)
apiVersion: eksctl.io/v1alpha5
kind: ClusterConfig
metadata:
name: EKS-raman-cluster
region: us-east-1
nodeGroups:
- name: ng-1
instanceType: t2.small
desiredCapacity: 3
volumeSize: 10
ssh: # use existing EC2 key
publicKeyName: vdevops
Step 4:- Run below commands w.r.t eksctl
# Find the available options for eksctl create cluster command
eksctl create cluster --help
# create cluster by using yaml config file (it will take 15-20 mins to create cluster )
eksctl create cluster -f eks.yaml
# Post cluster check
kubectl get nodes
# check there must be a /root/.kube/config file which refers to EKS Cluster
# get cluster
eksctl get cluster
# get node group details of the cluster
eksctl get nodegroup --cluster EKS-raman-cluster
COMMENTS