aws / aws/containers-roadmap

[EKS] [NLB]: Allow setting of private assigned IP addresses per AZ

Open
#894 2 comments 41 reactions 0 assignees View on GitHub
EKS Proposed
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**
I would like a way of assigning private IP addresses to an NLB in each AZ, instead of having them selected at random from the subnet that the NLB is assigned to. This would be similar to the existing `service.beta.kubernetes.io/aws-load-balancer-eip-allocations` annotation for attaching elastic IPs to load balancers.

**Which service(s) is this request for?**
EKS

**Tell us about the problem you're trying to solve. What are you trying to do, and why is it hard?**
Currently, if an NLB is recreated (eg. if the NLB is provisioned as part of a Helm chart, and a change causes the `Service` to be re-created), there is no way to ensure that traffic continues to be routed to the same NLB. The DNS name is unreliable, since this is generated randomly. We could use Elastic IPs, but then the NLB would need to be internet facing. Being able to assign fixed IP addresses via annotation would allow us to point DNS entries at these fixed IPs, which would survive load balancer recreation.

**Are you currently working around this issue?**
Being very careful not to recreate the NLB. We're also considering provisioning the load balancer out of band to lessen the chance of accidentally causing the load balancer to be re-created.

Contributor guide

Open the contributing guide

Research direction

Start by reviewing how the existing service.beta.kubernetes.io/aws-load-balancer-eip-allocations annotation relates to NLB provisioning. Done means defining and implementing a way to assign private IP addresses per AZ for EKS NLBs, with those addresses preserved when the load balancer is recreated.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, kubernetes
Domain
cloud, networking
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.