Amazon Elastic Kubernetes Service (Amazon EKS) Auto Mode, a new feature from AWS, Kubernetes cluster management is completely automated in terms of computation, storage, and networking. By shifting cluster operations to AWS, Amazon EKS Auto Mode streamlines Kubernetes deployment, enhances application security and performance, and reduces compute expenses.
Any new or existing EKS cluster can have its compute, networking, and storage managed by Kubernetes conformant using EKS Auto Mode. For your Kubernetes applications, this facilitates utilizing AWS’s security, scalability, availability, and efficiency. EKS Auto Mode automatically chooses the optimal EC2 instances to execute your application, eliminating the need for in-depth knowledge, continuous infrastructure management, or capacity planning. By dynamically scaling EC2 instances in response to demand, it helps retain application availability while optimizing computing costs. EKS Auto Mode uses AWS-controlled access and lifecycle management to create, run, secure, and upgrade EC2 instances inside your account. By handling OS patches and upgrades and using ephemeral computation to decrease security concerns, it automatically improves your security posture.
With the EKS Auto Mode, you can automate cluster management without deep Kubernetes expertise, because it selects optimal compute instances, dynamically scales resources, continuously optimizes costs, manages core add-ons, patches operating systems, and integrates with AWS security services. AWS expands its operational responsibility in EKS Auto Mode compared to customer-managed infrastructure in your EKS clusters. In addition to the EKS control plane, AWS will configure, manage, and secure the AWS infrastructure in EKS clusters that your applications need to run.
Create an EKS Auto Mode Cluster with the AWS Management Console
Creating an EKS Auto Mode cluster in the AWS Management Console requires less configuration than other options. EKS integrates with AWS IAM and VPC Networking to help you create the resources associated with an EKS cluster.
You have two options to create a cluster in the console:
- Quick configuration (with EKS Auto Mode)
- Custom configuration
After you choose quick configuration, enter your cluster name and Kubernetes version, IAM roles, VPC subnets. You can view configuration default values in EKS Auto Mode whether you can edit after the cluster is created.
EKS Auto Mode enables the following Kubernetes capabilities in your EKS cluster:
- Compute auto scaling and management
- Application load balancing management
- Pod and service networking and network policies
- Cluster DNS and GPU support
- Block storage volume support
When you choose Create, your EKS cluster with Auto Mode will be deployed in minutes with a single click.
You can also create an EKS Auto Mode cluster using AWS Command Line Interface (AWS CLI), eksctl, and AWS CloudFormation. Run the following eksctl
command to create a new EKS Auto Mode cluster with:
$ eksctl create cluster --name=<cluster-name> --enable-auto-mode
Select the box next to Use EKS Auto Mode to enable the EKS Auto Mode. You can unselect the EKS Auto Mode that will be configured in the cluster. The default is to create both a system and a default node pool and a node class.
Enable EKS Auto Mode on an existing cluster
Amazon EKS Auto Mode on your existing Amazon EKS clusters. Enabling Auto Mode on an existing cluster requires updating IAM permissions and configuring core EKS Auto Mode settings. Once enabled, you can begin migrating your existing compute workloads to take advantage of Auto Mode’s simplified operations and automated infrastructure management.
Important
Verify you have the minimum required version of certain Amazon EKS Add-ons installed before enabling EKS Auto Mode. For more information, see Required Add-on Versions.
Before you begin, ensure you have administrator access to your Amazon EKS cluster and permissions to modify IAM roles. The steps in this topic guide you through enabling Auto Mode using either the AWS Management Console or AWS CLI.
AWS Management Console
You must be logged into the AWS console with permission to manage IAM, EKS, and EC2 resources.
Update Cluster IAM Role
1. Open your cluster overview page in the AWS Management Console.
2. Under Cluster IAM role ARN, select View in IAM.
3. From the Add Permissions dropdown, select Attach Policies.
4.Use the Search box to find and select the following policies:
AmazonEKSComputePolicy
AmazonEKSBlockStoragePolicy
AmazonEKSLoadBalancingPolicy
AmazonEKSNetworkingPolicy
AmazonEKSClusterPolicy
5. Select Add permissions
6. From the Trust relationships tab, select Edit trust policy
7. Insert the following Cluster IAM Role trust policy, and select Update policy
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "eks.amazonaws.com"
},
"Action": [
"sts:AssumeRole",
"sts:TagSession"
]
}
]
}
Enable EKS Auto Mode
- Open your cluster overview page in the AWS Management Console.
- Under EKS Auto Mode select Manage
- Toggle EKS Auto Mode to on.
- From the EKS Node Pool dropdown, select the default node pools you want to create.
- Learn more about Node Pools in EKS Auto Mode. For more information, see Create a Node Pool for EKS Auto Mode.
- If you have previously created an EKS Auto Mode Node IAM role this AWS account, select it in the Node IAM Role dropdown. If you have not created this role before, select Create recommended Role and follow the steps.
Required Add-on Versions
If you’re planning to enable EKS Auto Mode on an existing cluster, you may need to update certain add-ons. Please note:
- This applies only to existing clusters transitioning to EKS Auto Mode.
- New clusters created with EKS Auto Mode enabled don’t require these updates.
If you have any of the following add-ons installed, ensure they are at least at the specified minimum version:
Add-on Name | Minimum Required Version |
---|---|
Amazon VPC CNI plugin for Kubernetes | v1.19.0-eksbuild.1 |
Kube-proxy | v1.25.16-eksbuild.22v1.26.15-eksbuild.19v1.27.16-eksbuild.14v1.28.15-eksbuild.4v1.29.10-eksbuild.3v1.30.6-eksbuild.3v1.31.2-eksbuild.3 |
Amazon EBS CSI driver | v1.37.0-eksbuild.1 |
CSI snapshot controller | v8.1.0-eksbuild.2 |
EKS Pod Identity Agent | v1.3.4-eksbuild.1 |