Skip to content
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

Auto-assigned IP address can be the External IPs of Envoy Proxy Service in LoadBalancer mode #1405

Closed
shawnh2 opened this issue May 7, 2023 · 4 comments

Comments

@shawnh2
Copy link
Contributor

shawnh2 commented May 7, 2023

After #1322 was merged, we can define Gateway.Spec.Addresses as the Envoy Proxy Service External IPs.

But when we deploy the Envoy Proxy Service in LoadBalancer mode along with MetalLB, the latter will automatically assign a IP to Gateway.Spec.Addresses, causing Envoy Proxy Service to have an External IP.

It won't cause any bugs, but IMO this behavior is inappropriate because only user-defined IP address should be the External IPs instead of auto-assigned IP address.

cc @arkodg WDYT?


Relevant: #360

@chauhanshubham
Copy link
Member

wouldn't this require integrations with L4 LBs, responsible for providing the IPs.
For instance, for integration with metallb, we'll have to use this annotation specified here https://metallb.universe.tf/usage/#requesting-specific-ips
GKE would require you to specify the .spec.loadBalancerIP https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#use_a_service
etc.

@arkodg
Copy link
Contributor

arkodg commented May 8, 2023

@shawnh2 can you link any metalLB doc/code links that does this - populates spec.Addresses of the Gateway. This feels weird since its a user defined field, and controller should only write into status.Addresses

@arkodg
Copy link
Contributor

arkodg commented May 8, 2023

wouldn't this require integrations with L4 LBs, responsible for providing the IPs.
For instance, for integration with metallb, we'll have to use this annotation specified here https://metallb.universe.tf/usage/#requesting-specific-ips
GKE would require you to specify the .spec.loadBalancerIP https://cloud.google.com/kubernetes-engine/docs/tutorials/configuring-domain-name-static-ip#use_a_service
etc.

@chauhanshubham I would assume a separate controller and a separate Gateway resource wold need to be created and the same spec.Addresses would need to be assigned if the user is requesting the address to also be assigned to the L3/L4 LoadBalancer.

@shawnh2
Copy link
Contributor Author

shawnh2 commented May 28, 2023

false alarm.

the MetalLB does not populates spec.Addresses of the Gateway, it only populates status.Addresses of Service, which is expected. but the MetalLB will also assign this populated address to be the External IP of this Service, which is also expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants