I believe the issue you are facing could be related to the client IP preservation setting on your Network Load Balancer.
When you are trying to reach your kubernetes service from the target instance of your NLB and if the request is being routed by the NLB to the same target instance, the client IP and the destination IP are the same for that request. Therefore, the request will not go through due to the hairpinning effect. Please refer this for more info.
If you disable client IP preservation, the private IP address of the NLB becomes the client IP address for all incoming traffic, and thereby remediating your issue.
You can use "IP" targets instead of "instance" targets to remediate this issue. You can do this by modifying the
service.beta.kubernetes.io/aws-load-balancer-type annotation in your service manifest to
nlb-ip instead of
However, if you want the keep using "instance" targets, you can disable client IP preservation setting by adding the below annotation to your service manifest.
I hope this helps!
AWS EKS Internal Network load balancer (NLB) timed out while trying to connect from underlying eks worker nodeasked 23 days ago
EKS Network Load Balancer Serviceasked 8 months ago
EKS Worker-node joinasked 3 years ago
How EKS Control Plane is communicate with worker nodeasked 8 months ago
Is it possible to assign an existing Network Load Balancer to an AWS EKS resource via annotations?Accepted Answerasked 2 years ago
how to create multiple ingress port on Amazon EKS using single Application Load Balancerasked 5 months ago
Load Balancer [NLB] - Listeners - Inconsistentasked 6 months ago
Network Load Balancer Headersasked 5 years ago
Access EBS volume attached to EC2 from EKS podsasked 8 days ago
Error installing helm chart eks/aws-load-balancer-controllerasked 5 months ago