Help improve this page
Want to contribute to this user guide? Choose the Edit this page on GitHub link that is located in the right pane of every page. Your contributions will help make our user guide better for everyone.
Enable EKS Auto Mode on existing EKS clusters
You can enable EKS Auto Mode on existing EKS Clusters.
Note
EKS Auto Mode requires Kubernetes version 1.29 or greater. EKS Auto Mode isn’t available in the ap-southeast-7
or mx-central-1
Amazon Regions.
Amazon supports the following migrations:
-
Migrating from Karpenter to EKS Auto Mode Nodes
-
Migrating from EKS Managed Node Groups to EKS Auto Mode Nodes
-
Migrating from EKS Fargate to EKS Auto Mode Nodes
Amazon does not support the following migrations:
-
Migrating volumes from the EBS CSI Controller to EKS Auto Mode Block Storage
-
You can install the EBS CSI controller on an Amazon EKS Auto Mode cluster. Use a
StorageClass
to associate volumes with either the EBS CSI Controller or EKS Auto Mode.
-
-
Migrating load balancers from the Amazon Load Balancer Controller to EKS Auto Mode
-
You can install the Amazon Load Balancer Controller on an Amazon EKS Auto Mode cluster. Use the
IngressClass
orloadBalancerClass
options to associate Service and Ingress resources with either the Load Balancer Controller or EKS Auto Mode.
-
-
Migrating EKS Clusters with alternative CNIs or other unsupported networking configurations
Migration Reference
Use the following migration reference to configure Kubernetes Resources to be owned by either self-managed controllers or EKS Auto Mode.
Capability | Resource | Field | Self Managed | EKS Auto Mode |
---|---|---|---|---|
Block Storage |
StorageClass |
provisioner |
kubernetes.io/aws-ebs |
ebs.csi.eks.amazonaws.com |
Load Balancing |
Service |
loadBalancerClass |
service.k8s.aws/nlb |
eks.amazonaws.com/nlb |
Load Balancing |
IngressClass |
controller |
ingress.k8s.aws/alb |
eks.amazonaws.com/alb |
Load Balancing |
IngressClassParams |
apiversion |
elbv2.k8s.aws/v1beta1 |
eks.amazonaws.com/v1 |
Load Balancing |
TargetGroupBinding |
apiversion |
elbv2.k8s.aws/v1beta1 |
eks.amazonaws.com/v1 |
Compute |
NodeClass |
apiVersion |
karpenter.sh/v1alpha5 |
eks.amazonaws.com/v1 |
Load Balancer Migration
You cannot directly transfer existing load balancers from the self-managed Amazon load balancer controller to EKS Auto Mode. Instead, you must implement a blue-green deployment strategy. This involves maintaining your existing load balancer configuration while creating new load balancers under the managed controller.
To minimize service disruption, we recommend a DNS-based traffic shifting approach. First, create new load balancers using EKS Auto Mode while keeping your existing configuration operational. Then, use DNS routing (such as Route 53) to gradually shift traffic from the old load balancers to the new ones. Once traffic has been successfully migrated and you’ve verified the new configuration, you can decommission the old load balancers and self-managed controller.