DEV Community

Shivlal Sharma
Shivlal Sharma

Posted on

Simplify Kubernetes on AWS: Unleashing the Power of EKS Auto Mode

Recently, aws announced a cool feature known as EKS Auto Mode What is that, and how does it help to simplify EKS cluster management? Let's have a look.

Image description

Before Auto Mode

When you are using Kubernetes with AWS, you don't have to worry about the control plane because AWS takes that management task from you and handles the control plane management.But what about the data plane?

Earlier users had to handle data plane activities like allocating node groups, configuring CNI plugins, volume management, etc. Users can integrate OSS tools like OPA, CrossPlane, and Istio into the EKS cluster.

Due to this, users get very little time to focus on the application plane, and their maximum time is divided into data plane activities.

After Auto Mode

Now, after EKS Auto Mode, users don't have to worry about the above time-consuming tasks. Auto Mode handles tasks like:

  • Application load balancing
  • Block Storage
  • Compute Autoscaling
  • Cluster DNS
  • Pod and service networking

It also follows the best practices to provision production-grade features-enabled EKS cluster with just a few clicks and required details.

To know more about it, follow the link.

How to use it on AWS

Go to EKS on the AWS console.

Image description

Click on the "Create cluster" button. You can see a new option named "Quick Configuration (with EKS Auto Mode)." in the next window, which is by default selected. You can choose "Custom Configuration" also if you want to go with the older way.

Image description

With Auto Mode, you just need to add basic required details like Name, Kubernetes version, Cluster IAM role, Node IAM role, VPC, and Subnets.

Image description

You might be thinking about nodes in the beginning because there is no node in the cluster. Nodes will be provisioned automatically from built-in node pools:

  • general-purpose (for general application resources)
  • system (only for critical add-on resources)

Image description

You can inspect and edit nodepools from local Kubectl operations. This node pool manages node autoscalling using the in-built Karpenter Controller.

root@Shivlal-Sharma~% kubectl get nodepool
NAME              NODECLASS   NODES   READY   AGE
general-purpose   default     1       True    4h29m
system            default     1       True    4h29m

Enter fullscreen mode Exit fullscreen mode

Now let's try to run a simple nginx pod on this cluster.

root@Shivlal-Sharma ~ % kubectl run nginx-web-pod --image=nginx:alpine 
pod/nginx-web-pod created
root@Shivlal-Sharma ~ % kubectl get pods
NAME                        READY   STATUS    RESTARTS   AGE
frontend-66c8c49db6-cpnbg   1/1     Running   0          174m
frontend-66c8c49db6-fvg2s   1/1     Running   0          137m
frontend-66c8c49db6-mnjz7   1/1     Running   0          174m
frontend-66c8c49db6-sv89z   1/1     Running   0          174m
frontend-66c8c49db6-w4svz   1/1     Running   0          137m
nginx-pod                   1/1     Running   0          3h10m
nginx-web-pod               1/1     Running   0          8s

Enter fullscreen mode Exit fullscreen mode

You can find your created Kuberenetes resources in the resource section in the cluster.

Image description

Conclusion

EKS Auto Mode simplifies Kubernetes management on AWS by automating critical data plane tasks like load balancing, compute autoscaling, storage, and networking. It enables users to quickly provision production-ready clusters with best practices, freeing them to focus on application development. With built-in node pools and Karpenter for autoscaling, EKS Auto Mode eliminates the need for manual configurations, making Kubernetes more accessible and efficient.

Top comments (0)