How to create kubernetes cluster in aws with eksctl

Pinterest LinkedIn Tumblr

Kubernetes is available on AWS as a managed service: AWS takes care of the control plane (replacing unhealthy nodes, automated updates), you take care of worker nodes. This saves you a lot of setup and maintenance work. Of course the control plane is highly available as it is deployed across multiple availability zones.

You can use ECR to store container images, EBS volumes for your persistent volume claims, ELBs for you load balancer services and IAM to map users and groups to your cluster. 

In this tutorial we’ll use eksctl, a simple command line utility for creating and managing Kubernetes clusters on Amazon EKS. AWS requires creating many resources such as IAM roles, security groups and networks, and by using eksctl, all of this is simplified.

eksctl create cluster --name dev-citizix --managed

Feel free to go grab a coffee – this usually takes 15 minutes. When it’s finished, you should have kubectl context configured to communicate with your newly created cluster.

Let’s verify everything is fine:

kubectl version

Get clusters

eksctl get clusters

Export kubeconfig

aws eks --region us-west-2 update-kubeconfig --name non-prod-iac

Get cluster nodes

kubectl get nodes -o wid

Get nodegroups

eksctl get nodegroup --cluster non-prod-iac

Upgrade cluster

eksctl upgrade cluster --name non-prod-iac --approve

Delete cluster

eksctl delete cluster -f cluster.yaml

I am a Devops Engineer, but I would describe myself as a Tech Enthusiast who is a fan of Open Source, Linux, Automations, Cloud and Virtualization. I love learning and exploring new things so I blog in my free time about Devops related stuff, Linux, Automations and Open Source software. I can also code in Python and Golang.

Write A Comment