Amazon Elastic Kubernetes Service

Sarvar
5 min readOct 29, 2022

--

Hey,

It’s Sarvar Nadaf again, a senior developer at Luxoft. I worked on several technologies like Cloud Ops (Azure and AWS), Data Ops, Serverless Analytics, and Dev Ops for various clients across the globe.

AWS EKS, also known as AWS Managed Kubernetes Service, AWS EKS is the topic of our discussion today. Today, we’ll discuss what EKS is, why we use it, and Architecture Components of EKS cluster on the AWS Cloud.

Let’s start AWS EKS!

What is AWS EKS:

The Amazon Elastic Kubernetes Service is also known as AWS EKS. It is a fully managed Kubernetes AWS service. No requirement to set up, maintain, or secure the Control Plane (Master Node Services). Only the worker nodes, known as nodegroups in AWS EKS, need to be managed by us, since the control plan is maintained by AWS EKS. To ensure that the control plan is always highly available, it is implemented across different availability zones. It provides automated version updates and patching for them, detects and replaces unhealthy control plane instances, and scales control plane instances based on load automatically. There are basically two types of Nodegroups that we attach to the EKS Cluster. The first is entirely managed by us and unmanaged, whereas the second is managed and is managed by AWS. In this post, we ‘ll explore nodegroups in depth.

Why AWS EKS:

Kubernetes can offer even greater advantages in terms of managing, deploying, and scaling containerized applications when it runs on Amazon EKS. EKS is the greatest option to run containers on Amazon Web Services because it provides a ton of flexibility and a robust ecosystem it will help you to manage larger Kubernetes ecosystem more effectively. Due to the fact that Amazon EKS is a fully managed service, you can take use of all the benefits of Kubernetes without worrying about infrastructure. EKS eliminates the requirement to architect high availability and scalability for your master nodes. EKS automates load distribution and parallel processing faster and more effectively.

You don’t need to set up, run, or maintain your own Kubernetes control plane when you have Amazon EKS. Instead, you can use the Kubernetes Dashboard to control the applications that are running on your cluster or modify specific resources. While it can be difficult to scale, protect, and maintain Kubernetes, Amazon EKS makes creating a cloud-native architecture in AWS simpler. EKS, which makes use of VPC networking, enables you to secure your EKS clusters from external networking threats. EKS inherently supports both internal/public classic and NLB annotations, tools like CLB and ALB Ingress Controller expand the native kubernetes load balancer support to include ALB and improve EKS’ functionality by enabling pods to assume IAM responsibilities.

EKSCTL Command Line Utility:

EKSCTL is a command-line tool that allows us to communicate with an AWS EKS ctl cluster. using the easy command line tool eksctl to set up, manage, monitoring and maintain Kubernetes clusters on Amazon EKS.

Requirements before installing the command-line program eksctl:
1. Install the AWS cli
2. Set up kubectl
3. IAM Authorization

Here is the Link for Installing EKSCTL: Link

AWS EKS Cluster:

The benefits of AWS EKS over conventional Kubernetes clusters have been covered in detail in the sections above. Here, we’re simply taking a quick look at the AWS EKS components.

Command for Creating AWS EKS Cluster.

eksctl create cluster — name my-cluster — region region-code (Note: this command will take all the default configurations.)

Command for Deleting AWS EKS Cluster.

eksctl delete cluster — name my-cluster — region region-code

EKS Control Plane:

The kubernetes master node is nothing but the AWS EKS control plane. We don’t need to manage the master node because AWS manages it in the backend. Backend ec2 instance provisioning by AWS EKS is used to deliver kubernetes master node services like ETCD, Kube API, Kube Controller, and Scheduler. The control plane is continuously highly available, and this is ensured by the system. Data on ETCD is encrypted with the help of Amazon Key Management Service (AWS KMS). Kubernetes master nodes are hosted across several AWS availability zones (AZ), and traffic is managed using elastic load balancing (ELB). A dedicated set of EC2 instances running in an Amazon-managed AWS account can be used by your applications to communicate with the control plane’s API endpoint.

EKS Nodesgroup:

AWS EKS Nodegroups it similar to the kubernetes worker node where actual kubernetes pods are running. We can use different nodegroups for single AWS EKS cluster. We ‘ll explore the two types of nodegroups in AWS EKS below.

Self-Managed Nodes: (Unmanaged)

As implied by the name, we will handle the self-managed node group. We are entirely responsible for setting up, running, and keeping an eye on these node groups. An Amazon EC2 instance that Kubernetes pods can be scheduled on is referred to as a “node” in EKS. Pods connect to the API endpoint for the EKS cluster. Node groupings are collections of nodes. A node group’s EC2 instances must all share the same:

  • Amazon instance type
  • Amazon Machine Image (IAM)
  • IAM role

A cluster may contain several node groups, each of which represents a particular kind of instance or instances doing a specific role.

Managed Node Groups: (Managed)

Automated lifecycle management for managed node groups is offered by Amazon EKS. This enables you to quickly and automatically add, update, or shut down nodes. The most recent Linux AMIs from Amazon are used by EKS. EKS seamlessly drains nodes when you terminate them to prevent service interruption. To manage a node group as a whole, Kubernetes labels are simple to apply.

The Amazon EKS service manages the EC2 Auto Scaling groups used to run managed nodes. The availability zones in which the groups should operate can be specified. The EKS console, eksctl, the Amazon CLI, the Amazon API, or Amazon automation tools like Cloud Formation are a few of the options to launch managed node groups.

Conclusion: In this section, we have explored the AWS EKS’s architectural layout. We are aware of what the Amazon Elastic Kubernetes Service is and why we choose it over the conventional Kubernetes. The Amazon Elastic Kubernetes Service is incredibly robust and strong, and it has a bright future that will enable our client expand more quickly. The many architectural components have been seen. In following articles, we’ll continue to examine the advanced features of the Amazon Elastic Kubernetes Service, so stay tuned for more.

— — — — — — — —

Here is the End!

I hope you like my article. I’m going to share my knowledge with you in order to make it easier for you to grasp Apache Hadoop. I’ll be publishing more articles like this soon.

happy studying!

--

--

Sarvar
Sarvar

No responses yet