This article explains how to enable EKS Auto Mode on existing clusters and migrate workloads from EKS Managed Node Groups to EKS Auto nodes using Terraform code with zero downtime and application availability.
The author suggests to use bootstrap_self_managed_addons = true while enabling EKS Auto Mode on an existing cluster to avoid an error where Terraform tries to recreate the cluster.
The article explains how to verify the current state of an EKS cluster before and after enabling EKS Auto Mode.
It also provides two ways (using eksctl or kubectl) to migrate existing workloads from EKS MNG to EKS Auto with minimal disruption while maintaining application availability throughout the migration.
The bonus section of the article explains how to schedule pods always on EKS Auto nodes and control the deployment of workload in mixed-mode EKS clusters using nodeSelector Labels and nodeAffinity.
The article suggests using EC2 instance type c6a.large for EKS Auto nodes, which can be customized using nodeClass and NodePool.
The Terraform code for creating the EKS cluster with Managed node group and deploying workload yaml code using Terraform is provided on Github.
Follow the author on Linkedin or Dev.to for timely updates and feel free to reach out to them in case of any errors while migrating existing workloads to EKS Auto Mode nodes.