Manual LB Creation with AWS Load Balancer Controller


We would like to manually create the Load Balancer for use with containers (EKS/ECS). And then, use the load balancer with the AWS Load Balancer Controller. ie. Multiple containers/apps on a single load balancer. I know we use the annotation to ensure all items use the same load balancer, but how do we ensure they (or at least the first app) uses that load balancer we created, and not have the AWS Load Balancer Controller spin up and use a different Load Balancer?

1 Answer
Accepted Answer

Hi jeffp2016,

You can manually create, maintain and manage a Load Balancer without Kubernetes control. Thereafter, you can associate the Load Balancer with your ECS/EKS using the TargetGroupBinding attribute.

TargetGroupBinding feature enables you to expose your Kubernetes applications to the external clients through an already existing target group on the AWS Elastic Load Balancer, which was provisioned through AWS console / AWS CLI / CloudFormation etc. What this gives you is the flexibility and independence so that you do not need to use a native method such as Kubernetes service type of Load Balancer or Kubernetes Ingress to expose your application(s) to external clients.

This approach basically introduces decoupling between Kubernetes services/ingress and the AWS Network or Application load balancer used in the environment.

For your convenience, the link below provides a step by step guide to the same implementation/solution:

answered a year ago
  • But there isnt a way to share an ALB and allow the AWS Load Balancer Controller to use that and create target groups for that? We have full apps (like, Vault, or PaperLess, or Rancher, or EJBCA, etc) not microservices we are looking to run/setup. Each 'thing' that needs something from the LB Controller is a full system and has a distinguished URL.

    But, the other info to not only share an LB and a single target group is interesting, thank you.

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions