[service] [request]: NLB targetgroup attributes for nginx controller
- Dominant language
- Shell
- Stars
- 5.4k
- Forks
- 334
- PR merge metrics
- No merged PRs in 30d
Description
### Community Note
* Please vote on this issue by adding a 👍 [reaction](https://blog.github.com/2016-03-10-add-reactions-to-pull-requests-issues-and-comments/) to the original issue to help the community and maintainers prioritize this request
* Please do not leave "+1" or "me too" comments, they generate extra noise for issue followers and do not help prioritize the request
* If you are interested in working on this issue or have submitted a pull request, please leave a comment
**Tell us about your request**
We followed below and created an ingress controller with aws nlb
https://github.com/kubernetes/ingress-nginx/blob/main/deploy/static/provider/aws/deploy.yaml#L334
I also added one more annotation to have an internal nlb..
service.beta.kubernetes.io/aws-load-balancer-internal: "true"
The problem we have now is, we have a EKS cluster of 150 nodes and the NLB target group is of type instance and I'm not able to use type IP as mentioned here
https://kubernetes-sigs.github.io/aws-load-balancer-controller/v2.2/guide/service/nlb/#ip-mode_1
With this all the requests are coming to all worker nodes in cluster and internally being routed via kube proxy to ingress pods, which means if I need to make a change on high performance tuning I will have to make it on all nodes
We want to have an NLB backed up with only ingress pods so that load balancer only sends the requests directly to ingress pods and avoid this hop of getting all requests from worker nodes -> kube-proxy -> ingress pods
Is it possible with current setup are we missing anything here?
**Which service(s) is this request for?**
EKS
Contributor guide
Research direction
Start with deploy/static/provider/aws/deploy.yaml around line 334 and compare the current NLB annotations with the AWS Load Balancer Controller documentation for NLB IP mode. Confirm how the EKS service currently selects instance targets and determine the required controller or manifest change for targeting ingress pods directly. Done means a documented, supported setup that avoids routing through every worker node.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- aws, kubernetes, nginx
- Domain
- cloud, infrastructure, networking
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100