How to Switch from Classic Load Balancer to Application Load Balancer for NGINX Ingress Controller?

June 2, 2025 3 answers
Asked by CuriousGeorge42
Hey everyone! I've been using the Bitnami Helm chart to deploy the NGINX Ingress Controller and it's currently set up with a Classic Load Balancer on AWS. I want to switch it to an Application Load Balancer, and I think I've set the necessary annotation in my `values.yaml`: `beta.kubernetes.io/aws-load-balancer-type: "application"`. However, even after deleting and redeploying the ingress-controller, the AWS console still shows it as a Classic Load Balancer. Am I missing something here? Any help would be appreciated!

Answers

DevOpsNinja46
Another option is the AWS Load Balancer Controller. It works really well and manages changes without downtime. Plus, you can run it alongside the NGINX Ingress Controller if you still need both.
Reply to this answer
TechieCat88
If I remember correctly, you need to completely delete the current load balancer and create a new one. AWS services donโ€™t automatically migrate types just by changing annotations. Youโ€™ll have to set up the new service yourself.

CuriousGeorge42: Oh, I see! I initially deleted the deployment, but I guess I didn't think about the load balancer itself.

Reply to this answer
CloudWizard77
Have you considered using the official Helm chart instead? It might save you some headaches since it typically handles these configurations a bit more smoothly.

CuriousGeorge42: I chose Bitnami because I wanted consistent syntax across my charts, but I guess thatโ€™s a good point.

Reply to this answer

Add your answer

Answers are reviewed before publication.

Related Discussions