Introducing the AWS Load Balancer Controller

Posted on: Oct 23, 2020

The ALB Ingress Controller is now the AWS Load Balancer Controller, and includes support for both Application Load Balancers and Network Load Balancers. The new controller enables you to simplify operations and save costs by sharing an Application Load Balancer across multiple applications in your Kubernetes cluster, as well as using a Network Load Balancer to target pods running on AWS Fargate.

Kubernetes applications often need to be exposed to external traffic, and EKS customers leverage Elastic Load Balancers to accomplish this task. Network Load Balancers are created in response to Kubernetes services of type LoadBalancer and provide high performance traffic serving that can scale to millions of requests per second. For more advanced load balancing requirements, the ALB Ingress Controller automatically provisions Application Load Balancers in response to Kubernetes Ingress objects.

Previously, Kubernetes could only provision Network Load Balancers in instance targeting mode, which prevented pods running on AWS Fargate from being included as load balancing targets. Now, the AWS Load Balancer Controller supports IP address targeting mode for Network Load Balancers, which allows customers to target pods running on AWS Fargate. The new controller also supports ingress grouping, allowing you to reduce costs by sharing an ALB across multiple namespaces and services within the same cluster.

The AWS Load Balancer Controller can be installed in all EKS clusters. NLB IP mode is supported on EKS clusters running Kubernetes version 1.18, and support for older clusters will be rolled out over the coming weeks. To get started, see the EKS documentation guide. To learn more about the AWS Load Balancer Controller, check out the launch blog.

Modified 12/22/2021 – In an effort to ensure a great experience, expired links in this post have been updated or removed from the original post.