Step-by-Step Elastic Kubernetes Service (EKS) Cluster Setup with Auto Mode via AWS Console and eksctl

What is EKS Auto Mode?
EKS Auto Mode is a management enhancement for Amazon Elastic Kubernetes Service (EKS) that simplifies the operational management of Kubernetes clusters and extends AWS’s control beyond the cluster itself. It automates the setup and management of the infrastructure required for running workloads, including compute, networking, storage, and scaling, while integrating deeply with AWS services like EC2, EBS, and ELB
Key Features of EKS Auto Mode
Streamlined Management: Production-ready clusters with minimal operational overhead and automation of key tasks.
Automated Compute and Scaling:
· Automated node lifecycle, scaling with Karpenter, and GPU support.
· Regular node replacements for security (21-day max lifetime).
Networking and Load Balancing:
· Automates Pod/service networking with IPv4/IPv6 support.
· Integrates with AWS Elastic Load Balancers for seamless traffic management.
Cost Optimization:
· Automatically consolidates workloads and terminates unused nodes.
· Supports cost-saving configurations like Spot instances.
Security:
· Immutable AMIs, SELinux enforcement, and no direct SSH/SSM access.
· Regular updates to enhance security posture.
Customizability:
· Custom NodePools and NodeClasses for specialized workloads.
· Support for DaemonSets to add custom monitoring/services.
AWS Integration: Fully integrates with EC2, EBS, ELB, and other AWS services.
EKS Auto Mode Pricing:
EKS Auto Mode Pricing simplifies Amazon EKS cluster management by automatically selecting and scaling the underlying infrastructure. Pricing includes:
- EC2 Instance Costs: Standard charges for the EC2 instances provisioned for your workloads.
- Management Fee: A per-hour fee for each EC2 instance, which varies by instance type, to cover the automation of infrastructure management.
Auto Mode dynamically optimizes resource usage and scales across Availability Zones, ensuring high availability and cost-effectiveness. You only pay for the compute and management fees associated with your active workloads
Step 1: Create EKS Cluster with Auto Mode
Open the AWS Management Console, search for EKS, and click on Elastic Kubernetes Service
Click on Create cluster
Select Quick configuration (with EKS Auto Mode) to enable EKS Auto Mode
Enter the EKS cluster name and select the Kubernetes version
Click Create recommended role to create the Cluster IAM role
Select AWS Service as the trusted entity
Select EKS as the service and EKS-Auto Cluster as the use case, then click Next
Here, you can view the permission policies. After reviewing, click Next
Enter the role name and click Create role
The role has been successfully created for the EKS Auto Cluster
Click Create recommended role to create the Node IAM role
Select AWS Service as the trusted entity
Select EKS as the service name and EKS Auto Node as the use case
The permission policies for EKS Auto Node are added. Click Next to proceed
Enter the role name and click Create role
The role has been successfully created
Refresh the Node IAM role, select the role you created, then choose the VPC and Subnets
You can now view the EKS Auto Mode capabilities
Here, you can see that the EKS Auto Mode value is set to enabled
Click Create to initialize the creation of the cluster
The cluster creation request has been submitted, and it will take some time to complete
Once the EKS cluster is created, you will see EKS Auto Mode displayed as Enabled
Step 2: Disable EKS Auto Mode
Go to the EKS Cluster dashboard and click on Manager
Uncheck the Use EKS Auto Mode option to disable
Click Save changes
Type confirm to delete the EKS Auto Mode nodes, then click Delete
Now, you will see the EKS Auto Mode status updated to Disabled
Method 2: Create an EKS Auto Mode Cluster with eksctl
To create an EKS Auto Mode cluster using eksctl, ensure you have the eksctl CLI installed. Then, run this command: eksctl create cluster — name=devops-auto-mode — enable-auto-mode. This will create a cluster named devops-auto-mode with EKS Auto Mode enabled
If you encounter the error “unknown flag: — enable-auto-mode”, it means your eksctl version is outdated.
Upgrade the eksctl version to the latest release
Run the brew update command to update Homebrew
Run the brew upgrade eksctl command to upgrade eksctl to the latest version
Now, run the command eksctl create cluster — name=devops-auto-mode — enable-auto-mode to create the EKS Auto Mode cluster
You will be able to view the newly created EKS cluster in the AWS Management Console
Navigate to the newly created EKS cluster in the AWS Management Console, where you will see that EKS Auto Mode is set to Enabled
Disabling EKS Auto Mode is not possible using the eksctl command. To remove Auto Mode, you need to delete the existing cluster and recreate it without enabling Auto Mode. To delete the cluster, run this command eksctl delete cluster — name=devops-auto-mode
Conclusion
EKS Auto Mode simplifies Kubernetes cluster management by automating infrastructure and operational tasks, making it easier to deploy and maintain production-ready environments. With features like automated scaling, cost optimization, enhanced security, and seamless AWS integration, it provides a balanced approach to managing workloads effectively while reducing operational overhead
Keep Learning, Keep EKS-ing!!!
For more insightful content on AWS best practices, cloud security, devops and technology updates, don’t forget to follow me! 🚀
Feel free to reach out to me, if you have any other queries or suggestions
Stay connected on Linkedin https://www.linkedin.com/in/mahendran-selvakumar/