-
Notifications
You must be signed in to change notification settings - Fork 304
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[Cherry-pick #2575 and #2708 -> 1.28] Forward individual ports for NetLB with 5 or less service ports #2799
base: release-1.28
Are you sure you want to change the base?
Conversation
GCE forwarding rules have a limit of 5 forwarded ports. In the external L4 load balancer, we currently turn a set of exposed ports into a port range from minPort to maxPort and forward all ports in the range, which needlessly forwards traffic for ports that are not supposed to be exposed. With this change, if 5 or less ports are exposed, we expose each distinct, otherwise we use the old mechanism of exposing a port range. This is similar to have the Internal Load Balancer is setup, except the ILB exposes all ports if more than 5 ports need to be exposed
This fixes a bug when an existing forwarding rule lists a distinct a set of ports. If a new port is added to a load balancer that falls within the same range of ports, the forwarding rule will not be updated because we would compare the old and new list of ports as a port range. For example, with oldPorts = {1, 5, 10} and newPorts = {1, 5, 6, 10}, both old and new ports are converted to port range 1-10 and no change is made to the forwarding rule. With this change we only convert new ports to a port range if the existing ports are also a port range.
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: FelipeYepez The full list of commands accepted by this bot can be found here.
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Hi @FelipeYepez. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
/hold We need to wait for approval to backport |
GCE forwarding rules have a limit of 5 forwarded ports. In the external L4 load balancer, we currently turn a set of exposed ports into a port range from minPort to maxPort and forward all ports in the range, which needlessly forwards traffic for ports that are not supposed to be exposed.
With this change, if 5 or less ports are exposed, we expose each distinct, otherwise we use the old mechanism of exposing a port range. This is similar to have the Internal Load Balancer is setup, except the ILB exposes all ports if more than 5 ports need to be exposed