DEV Community

Cover image for 🧠 Getting Started with Amazon EKS Auto Mode: Simplifying Kubernetes Node Management
Vinod Kumar
Vinod Kumar

Posted on

🧠 Getting Started with Amazon EKS Auto Mode: Simplifying Kubernetes Node Management

With Kubernetes adoption growing fast, managing worker nodes, capacity scaling, and right-sizing clusters is becoming increasingly complex. Enter Amazon EKS Auto Mode – a powerful new capability designed to simplify cluster operations by automating infrastructure provisioning and scaling.

In this blog, we'll dive into:

  • What is EKS Auto Mode?
  • How it works under the hood
  • How to create an EKS Auto Mode cluster
  • Deploying workloads on it

🚀 What is Amazon EKS Auto Mode?

Amazon EKS Auto Mode is a fully managed option to provision Kubernetes clusters without having to manage EC2 instances or Fargate profiles yourself. It automatically provisions serverless compute capacity that matches your pod specifications using AWS-managed node groups under the hood.

It’s ideal for:

  • Teams looking to reduce infrastructure overhead
  • Rapid autoscaling workloads
  • Cost-efficient, just-in-time compute

🔧 How EKS Auto Mode Works

Image description

Behind the scenes:

  • EKS Auto Mode leverages Karpenter, AWS's open-source autoscaler.
  • It provisions compute (EC2 or Fargate) based on pod resource requests.
  • It automatically handles zone selection, instance types, and right-sizing.
  • You get an ephemeral node group with no configuration overhead.

🛠️ Prerequisites

  • AWS CLI configured
  • eksctl installed (brew install eksctl)
  • IAM role with EKS and EC2 permissions
  • kubectl installed and configured

🧪 Creating an EKS Cluster in Auto Mode
Amazon introduced a new --auto-mode flag in eksctl. Here’s how to launch a cluster:

eksctl create cluster --name eks-auto-cluster \
  --region us-west-2 \
  --auto-mode \
  --kubernetes-version 1.29
Enter fullscreen mode Exit fullscreen mode

This creates:

  • A control plane
  • VPC, subnets, security groups
  • Auto-managed capacity that scales with your workloads

No need to define node groups!

📦 Deploying a Sample App

Let’s deploy a basic NGINX app to test Auto Mode scheduling:

Create a Deployment YAML:

# nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:latest
        resources:
          requests:
            cpu: "250m"
            memory: "256Mi"
          limits:
            cpu: "500m"
            memory: "512Mi"
Enter fullscreen mode Exit fullscreen mode

Apply the Deployment:

kubectl apply -f nginx-deployment.yaml
Enter fullscreen mode Exit fullscreen mode

💡 As soon as you apply this, EKS Auto Mode will dynamically provision compute based on your resource requests. It can choose optimized EC2 instances behind the scenes.

📈 Observe Auto Scaling in Action

You can watch pods being scheduled and nodes being created:

kubectl get pods -w
kubectl get nodes -w
Enter fullscreen mode Exit fullscreen mode

You can also use the EKS console to view events and node activity.

💸 Pricing Note

You're billed only for the actual compute (EC2 instances) that Auto Mode provisions. There’s no separate charge for Auto Mode itself. Spot instances may also be used to optimize cost.

📌 Limitations (as of 2025)

  • Only available in select AWS regions
  • Some custom scheduling features (like affinity) might need tweaks
  • Works best with recent Kubernetes versions (>=1.28)

🧹 Clean Up

To delete the cluster:
eksctl delete cluster --name eks-auto-cluster --region us-west-2

🎉 Conclusion

Amazon EKS Auto Mode is a game-changer for teams who want to focus on workloads, not infrastructure. It delivers Kubernetes scalability with zero node group management. Just define your pods and let AWS handle the rest.

If you're deploying microservices, running dev/test environments, or just starting with Kubernetes – EKS Auto Mode is worth trying out.

Top comments (0)