EKS Auto Mode
Amazon EKS Auto Mode represents a significant evolution in Kubernetes infrastructure management, combining secure and scalable cluster infrastructure with integrated Kubernetes capabilities managed by AWS . The service provides fully-managed worker node operations, eliminating the need for customers to set up Managed Node Groups or AutoScaling groups .
The key architectural difference is that EKS Auto Mode uses a Karpenter-based system that automatically provisions EC2 instances in response to pod requests . These instances run on Bottlerocket AMIs with pre-installed add-ons like EBS CSI drivers, making the infrastructure truly managed by AWS . In contrast to traditional scaling methods:
-
Traditional Cluster Autoscaler (CAS) requires manual node group management and can only create nodes with a single instance type per node group
-
Self-managed Karpenter offers more flexibility by working with EC2 Fleet API and can provision different instance types, but requires customer management
-
EKS Auto Mode handles all scaling operations automatically through managed NodePools and NodeClasses
The new system introduces several operational improvements:
-
Automatic pod-driven scaling without manual node group configuration
-
Built-in managed load balancer controllers that automatically create ALB/NLB based on Ingress resources
-
Integrated security features with pre-configured Pod identity
-
Maximum node runtime of 21 days with automatic replacement
From a cost perspective, EKS Auto Mode maintains standard EC2 pricing while adding a management fee only for Auto Mode-managed nodes. Importantly, customers can still mix Auto Mode managed nodes with self-managed nodes in the same cluster .
While AWS handles most operational aspects, customers retain responsibility for cluster version management and can perform controlled upgrades that trigger rolling updates of worker nodes .
Reasons to use Auto Mode
Auto Mode is geared towards users that want the benefits of Kubernetes and EKS but need to minimize operational burden around Kubernetes like upgrades and installation/maintenance of critical platform pieces like auto-scaling, load balancing, and storage. Auto Mode takes EKS a step further in the minimization of the undifferentiated heavy lifting that goes along with Kubernetes maintenance
FAQ
What is the difference between EKS Auto Mode and Open Source Karpenter?
EKS Auto Mode is a large suite of features that make running production-grade Kubernetes simple. One of these features is the auto-scaling benefits of Karpenter, fully managed. From an operations standpoint, the only difference is in EKS Auto Mode you do not need to manage the deployment, scaling, and upgrade of the Karpenter pods themselves. All other operations, like managed NodeClasses and NodePools works the same as with open source Karpenter.
Can I run managed node groups alongside Auto Mode-managed nodes?
Yes, you may run static nodes via a managed node groups alongside your autoscaling nodes provided with Auto Mode
Can I migrate a cluster from standard EKS to EKS Auto Mode?
Yes, instructions to enable EKS Auto Mode on an existing cluster can be found in the official AWS Documentation
Things to note: 1. After enabling Auto Mode, you’ll want to uninstall any components you had installed that are now managed by Auto Mode, like Karpenter or the AWS Load Balancer Controller 2. You need to make sure your installed add-ons are up-to-date. See documentation.
How do I configure NodePools in EKS Auto Mode?
A new cluster will come pre-configured with two NodePools
general-purpose

This NodePool instructs Karpenter to launch nodes with the following characteristics:
-
Capacity Type of “On Demand”
-
Instance Types of C, M, or R
-
Instance Generation of 4
-
AMD architecture
-
Linux OS
It also defines what the scale down logic is by declaring that only 10% of all nodes may be in a disrupted state at any given time and that consolidation should only occur when nodes are empty or underutilized.
system

This NodePool is similar to “general-purpose” except for the following differences:
-
It allows for nodes with the ARM architecture as well as AMD architecture
-
It taints these nodes with a NoSchedule unless there’s a toleration for “CriticalAddonsOnly”. This is for internal use by EKS add-ons
custom
You may create your own custom NodePools depending on your needs. To learn more about
NodePools please consult the Karpenter Documentation
Can I customize the AMI used by Auto Mode when new nodes are launched?
No, currently the only supported AMIs are for Amazon-provided Bottlerocket
How can I install custom tooling or agents on my Kubernetes hosts?
Because AMI customization is not supported, if you have a need for host-level software for things like security scanning you should
be deploying the workload as a Kubernetes DaemonSet
What components are running in my cluster data plane when I provision a new EKS Auto Mode cluster?
By default, the only pods running in an EKS Auto Mode cluster are Kubernetes Metrics Server pods. The other components of EKS Auto Mode like Karpenter, the AWS Load Balancer Controller, and the EBS CSI Driver are all running and managed off-cluster.
What managed components are running to support my new EKS Auto Mode cluster?
EKS Auto Mode completely automates the deployment most of the pieces of a data plane needed for production-grade Kubernetes. This includes:
-
Karpenter, for auto-scaling the compute of your cluster
-
AWS Load Balancer Controller to allow you to easily expose Kubernetes services via automated Elastic Load Balancer integration
-
EBS CSI
-
VPC CNI
-
EKS Pod Identity Agent
How do I troubleshoot the components of Auto Mode that used to run as pods in my cluster?
With EKS Auto Mode, many of the components like the AWS Load Balancer Controller and Karpenter are managed for you outside of your cluster, therefore you won’t have the same visibility into the logs that you are used to when self-managing. If you are in a situation where you need to troubleshoot the functionality of a piece of Auto Mode functionality create an AWS Support Ticket.