Troubleshooting Services and Load Balancers

Troubleshooting Services and Load Balancers An architecture diagram generated by Archify. Client · External request · Architecture component Client External request Service · ClusterIP · selector · EKS cluster Service ClusterIP · selector EndpointSlice · Ready pod list · EKS cluster EndpointSlice Ready pod list Pods 1 · 2 · readinessProbe passing · EKS cluster Pods 1 · 2 readinessProbe passing AWS Load Balancer Controller · Watches Ingress · Service · EKS cluster AWS Load Balancer Controller Watches Ingress · Service ALB / NLB · Listeners · scheme · Architecture component ALB / NLB Listeners · scheme Target Group · Health checks · Architecture component Target Group Health checks Request Selector match Ready pods Creates LB Listener rules Registers IP targets EKS cluster Legend Frontend Backend Cloud Security Message bus External

Service connection fails

  • • If the Service selector and pod labels disagree, the EndpointSlice is empty and connections fail
  • • kubectl get endpointslices confirms whether the target pods are actually registered
  • • A failing readinessProbe removes the pod from the endpoints

Load balancer creation fails

  • • Missing subnet tags are the most common cause (role/elb, role/internal-elb)
  • • Check the controller's IAM permissions and its service account (IRSA) setup
  • • The events on kubectl describe ingress or service carry the failure reason

Health checks fail

  • • Confirm the target group health check path and port match the application
  • • Node and pod security groups must allow health check traffic from the load balancer
  • • In IP target mode you also have to check the pod security groups