EKS Auto Mode launched recently - is it worth the hype?
Introduction
Running Kubernetes in production can be hard. Even with the managed options Kubernetes isn’t a bed of roses. AWS recently launched EKS Auto Mode which aims to offload some pain.
While the features offered by the auto mode can be useful, almost all of them were already used by existing folks in production by using various helm charts. Most of the helm charts were provided by AWS themselves. So even with the Auto mode - it’s important to set realistic expectations. This isn’t some magic button that does everything for you—but it does include a few neat features that can cut down on manual labor.
In this post, we’ll explore what AWS EKS Auto Mode is and what it actually brings to the table. We’ll look at what it does well, where it doesn’t really reinvent the wheel, and how you might fit it into your workflow if you’re already comfortable managing EKS.
What Is AWS EKS Auto Mode?
Let’s start with the basics: AWS EKS (Elastic Kubernetes Service) is a platform that allows you to run Kubernetes on AWS without managing the control plane yourself. AWS handles the Kubernetes masters, so you don’t have to set them up or maintain them.
Amazon EKS cluster architecture :
However, the responsibility for managing the type and count of worker nodes—the servers running your containers—still falls on you. This typically involves choosing the right instance types, determining how many servers you need, and scaling them up or down as your application’s traffic fluctuates.
EKS Auto Mode claims to simplify this process. It automatically provisions, manages and scales the underlying infrastructure for your cluster. You can use either “managed node groups” (Amazon EC2 instances that AWS helps maintain) or “Fargate” (a serverless option for running containers without managing servers at all) - This sounds more like what Cluster Autoscaler was doing already autoscaler/cluster-autoscaler at master · kubernetes/autoscaler
Cluster architecture with AWS EKS Auto Mode :
Before Auto Mode:
Previously, managing an EKS cluster meant handling multiple components yourself:
- Infrastructure setup: Provisioning and configuring EC2 instances.
- Networking: Setting up VPC, CNI plugins, and security groups.
- Node scaling: Manually adding or removing nodes based on application traffic.
After Auto Mode:
With EKS Auto Mode, AWS takes care of most of the heavy lifting:
- Node provisioning: Automated based on workload demands.
- Networking: Seamless integration with AWS-managed add-ons like the EBS CSI Driver and Load Balancer Controller.
- Scaling: Fully automated, ensuring high availability and cost-efficiency.
Key Features and Capabilities of EKS Auto Mode - and our Opinion
Fully Managed Data Plane
Traditionally, provisioning nodes and managing them over time required intricate automation tooling. With EKS Auto Mode, AWS handles this for you. Auto Mode dynamically selects the best EC2 instance types, launches EC2 managed instances in your account, and continuously scales and adjusts them for optimal resource usage and cost savings.
Our opinion: Auto Mode claims to provide the right compute resources at the right time. Kubernetes cluster autoscaler already used to do this. We are yet to see how this is better than that.
Integrated Cluster Add-Ons
EKS Auto Mode includes:
- Storage: The EBS CSI driver is included, providing persistent block storage for stateful workloads without manual setup. Networking
- An optimized VPC CNI plugin for pod networking, built-in CoreDNS running locally on each node, and an AWS Load Balancer Controller simplify connectivity and traffic distribution. This was already done thorugh the aws lb controller helm chart - Install AWS Load Balancer Controller with Helm - Amazon EKS
Our opinion:
- Glad AWS heard us - we wrote about this on Kubeblogs Why AWS should pre-install the EBS driver on EKS! . There was no reason by EBS CSI driver shouldn’t be pre-installed.
These integrations reduce the initial friction. While these integrations were always there but users had to install and manage them themselves - We’re glad that AWS has done it finally what should have been done long back.
Improved Security and Cost Management
EKS Auto Mode uses BottleRocket, a container-optimized Linux-based operating system designed by AWS. BottleRocket’s minimal footprint improves performance and reduces the attack surface. We are yet to test the performance of BottleRocket - but given that it is an operating system tuned for running containers - we are very hopeful.
Tips for Making the Most Out of EKS Auto Mode
- Start Small:
- If you’re new to EKS, don’t migrate your entire application at once. Test a simple service first, see how EKS Auto Mode handles it, and then expand from there.
- Compare Managed Nodes vs. Fargate:
- Try both! Run one part of your app on managed nodes and another on Fargate. See which one works better for your needs. Maybe you prefer the visibility of having EC2 instances, or maybe you love the zero-server approach of Fargate.
- Keep an Eye on Costs:
- While automatic scaling helps optimize costs, it’s still a good idea to look at your AWS bills regularly. Make sure your settings are right and you’re not running extra capacity you don’t need.
Common Questions People Have
- Is It Good for Production?
- Yes. Many companies run their production workloads on EKS, and EKS Auto Mode just makes it simpler. It’s production-ready and supported by AWS.
- How Much Do I Need to Know About Kubernetes?
- EKS Auto Mode reduces the complexity, but it still helps to understand the basics of Kubernetes: what a pod is, how services work, and so on. You don’t have to be an expert, but some foundational knowledge will help you get the most out of it.
Conclusion
EKS Auto Mode isn’t some revolutionary overhaul that lets you forget Kubernetes exists, but it does remove a few chores. By automatically choosing instance types and bundling in some commonly used add-ons, it lets you spend less time fiddling with details you’ve set up a hundred times before.
At KubeNine, we take a similar philosophy. We handle the complexities of DevOps behind the scenes so your team can focus on building your product. Whether you’re using EKS Auto Mode or a more manual approach, the goal is the same: free yourself from constant infrastructure babysitting and get back to what matters most—your applications and the people who use them.
If you’re interested in trying out EKS Auto Mode, give it a spin. Experiment, tweak your settings, and see if it saves you some headaches. It might not transform your entire setup, but even a small reduction in busywork can feel like a breath of fresh air.