Hey everyone! I'm trying to figure out the best way to handle Application Load Balancers (ALB) in an EKS Auto Cluster. From what I've gathered, it seems that EKS Auto doesn't support existing ALBs that weren't created by it. I have ArgoCD set up and would like to connect it to an already existing ALB with the necessary certificates.
What do you think? Is it better to go with the AWS Community Controller Helm Operator for more control, or is the built-in ALB management from EKS Auto sufficient? I realize I'll have to set up an IAM role for the controller, but other than that, how do you all feel about the options? Thanks for your thoughts!
3 Answers
You can definitely use existing ALBs with EKS Auto. Just create the Load Balancer and Target Group using Infrastructure as Code (IaC), tag them properly, and then use annotations in your Kubernetes configuration to get it integrated with EKS Auto. I’ve done this before and it works pretty well!
Using Ingress is another great way to manage your ALBs. It allows you to have more control over routing. Have you looked into how that might work for your setup?
Both the AWS Community Controller and the built-in options are popular for managing ALBs in EKS. The community controller has a lot of features and can simplify managing multiple apps because once it's set up, it just runs smoothly. But keep in mind that ALBs cost money, so try to avoid creating more than one per environment unless you really need it. Also, remember that ALBs only handle Layer 7 traffic, and if your apps need Layer 4 TCP traffic, you should look into Network Load Balancers (NLBs).
I totally get what you're saying! I ended up going with the community controller too because I wanted more flexibility. I'm open to the built-in ALB management as well but I find the community version to be more capable.
Is that method still viable, or is it considered obsolete?