AWS EKS Auto Mode was launched at re:Invent 2024.
Among the things it automates is this:
Load balancing: EKS Auto Mode streamlines load balancing by integrating with Amazon’s Elastic Load Balancing service, automating the provisioning and configuration of load balancers for Kubernetes Services and Ingress resources. It supports advanced features for both Application and Network Load Balancers, manages their lifecycle, and scales them to match cluster demands. This integration provides a production-ready load balancing solution adhering to AWS best practices, allowing you to focus on applications rather than infrastructure management. [ref]
I see no mention of AWS Load Balancer Controller, so was curious. Is AWS EKS Auto Mode automatically installed and using AWS Load Balancer Controller, or is it using some other technology to setup the ELBs?
EDIT
I agree with the answers given here that it seems to be separate from AWS LBC
When an ALB is created with LBC, it gets these tags
Key | Value |
---|---|
elbv2.k8s.aws/cluster | eks-cluster-xyz-stage |
ingress.k8s.aws/resource | LoadBalancer |
ingress.k8s.aws/stack | default/xyz-ingress-alb-stage |
When an ALB is created with AWS EKS Auto Mode, it gets these tags
Key | Value |
---|---|
eks:eks-cluster-name | eks-auto-mode-cluster |
ingress.eks.amazonaws.com/resource | LoadBalancer |
ingress.eks.amazonaws.com/stack | se-namespace/hello-world-ingress |
Yes and no... Migrating a pre-existing cluster to auto mode is a highly manual process to the extent that you're probably better off doing a blue-green cutover to a new EKS cluster where it was enabled from the start.
There's a table on this page, that's super useful in clearing up confusion:
https://docs.aws.amazon.com/eks/latest/userguide/migrate-auto.html
Basically Auto Mode introduces a new auto mode specific LoadBalancerClass, IngressClass, and VolumeProvisioner.
So as part of the work involved in an in-place migration to EKS Auto Mode, you'll need to migrate/blue-green cutover:
1. PVCs (need to make a new storage class referencing auto mode's EBS Volume provisioner, and do volume snapshot migration of PVCs to new storage class)
* CSI Driver Volume Provisioner (EKS Addon) = ebs.csi.aws.com
* CSI Driver Vol. Provisioner (Auto Mode) = ebs.csi.eks.amazonaws.com
2. services of type load balancer
* ELB loadBalancerClass (via AWS LB Controller) = service.k8s.aws/nlb
* ELB loadBalancerClass (via EKS Auto Mode) = eks.amazonaws.com/nlb
3. and Ingress.yamls backed by AWS Load Balancer Controller
* IngressClass (via AWS LB Controller) = ingress.k8s.aws/alb
* IngressClass (via EKS Auto Mode) = eks.amazonaws.com/alb
I wrote some additional notes on this permalink page that you may find useful:
https://github.com/aws/containers-roadmap/issues/2550#issuecomment-2762135437