Round Robin Load Balancing isn't working in AWS EKS Classic or Application Load Balancer

7/6/2021

I have a listener application that is deployed to multiple pods running the same application. I'm using Kubernetes Load Balancer service yaml to create a Load Balancer that grabs whatever port for the NodePort and forwards to port 9090 in the container.

When I start sending request to my application I can see in my application logging that the request go to one pod for a minute or two, then switch to the other pod, instead of a normal round robin where it changes between the pods for every request.

For background when I create the Load Balancer in K8s (I'm using EKS on AWS) it creates an external load balancer for me in Kubernetes. I did also try migrating to the Application L7 load balancer to see if network level vs application level mattered, but I get the same behavior on both.

Target group is set to round robin when I use application level. Network level, doesn't have target groups, and goes to most available node per documentation.

Any ideas that could help me possibly troubleshoot this further and get it rotating between pods as expected?

-- pbay12345
amazon-eks
aws-application-load-balancer
aws-load-balancer
kubernetes

0 Answers