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.
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.
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.
With Auto Mode, you just need to add basic required details like Name, Kubernetes version, Cluster IAM role, Node IAM role, VPC, and Subnets.
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)
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
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
You can find your created Kuberenetes resources in the resource section in the cluster.
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)