Kubernetes on AWS – Create Kubernetes Cluster on Amazon EKS
This tutorial will cover Elastic Kubernetes (k8s) Service or AWS EKS in short. You will learn how to setup your Kubernetes cluster on AWS EKS using eksctl.
——– What is EKS? ——–
AWS EKS is a Managed Kubernetes Service from Amazon, which means AWS manages the Master Nodes for you. All the necessary applications/services are already pre-installed like the container runtime or master processes and in addition it also takes care of scaling and backups. 👍
You only create the Worker Nodes.
EKS is a managed Kubernetes-as-a-Service (KaaS) that substantially simplifies Kubernetes deployment on AWS.
Through EKS, normally cumbersome steps are done for you, like creating the Kubernetes Master Node, as well as configuring service discovery, Kubernetes primitives, and networking.
EKS users don’t have to maintain a Kubernetes Control plane on their own. It is used to automate the deployment, scaling, and maintenance of the containerized application.
——– How to use EKS? ——–
To create a K8s cluster in EKS you need to do following steps:
1) Setup or preparation steps
– create AWS account
– create a VPC – virtual private space
– create an IAM role with Security Group (or in other words: create AWS user with list of permissions)
2) Create Cluster Control Plane – Master Nodes
– choose basic information like cluster name and k8s version
– choose region and VPC for your cluster
– set security
3) Create Worker Nodes and connect to cluster
The Worker Nodes are some EC2 instances with CPU and storage resources.
– Create as a Node Group
– Choose cluster it will attach to
– Define Security Group, select instance type etc.
With NodeGroup you have autoscaling, which means based on your needs depending on how much load the cluster has new Worker Nodes will automatically added or removed in the cluster.
– For that you need to define max and minimum number of Nodes.
——– Complex, but powerful and popular ——–
You’re right, that’s a lot of effort for just creating a simple Kubernetes cluster. Compared to other managed Kubernetes services, like DigitalOcean or Linode it’s more complex.
So, how to do it, when you just want to create a cluster and start deploying your containers inside as fast as possible.
Instead of doing all those steps manually, there is a faster and more efficient way.
——– eksctl to the rescue ——–
eksctl is a simple CLI tool for creating clusters on EKS. With just one command you create a cluster in minutes.
I’m a huge fan of understanding the concepts of how a technology works, but if there are tools that make working with this technology much easier then I like to use them. Usually those tools are built by community, which specialized in this technology. So it makes sense to use this knowledge.
So in the demo we will create the Kubernetes cluster using eksctl.
#awseks #kubernetes #k8s #cloudguru
Written by admin