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

Port Protocol UDP Support #58

Closed
skizot722 opened this issue Apr 24, 2024 · 6 comments · Fixed by #61
Closed

Port Protocol UDP Support #58

skizot722 opened this issue Apr 24, 2024 · 6 comments · Fixed by #61
Assignees

Comments

@skizot722
Copy link

Hello! First of all, let me say amazing work on this project. I've set it up without issue and tested for some sample TCP services and it worked flawlessly. My actual use case for a local testing environment involves a UDP service port, and I figured out after a bit of digging that UDP is currently not supported. Are there any plans to support that in the near future? What are the limitations to allowing UDP right now in the proxy?

@aojea
Copy link
Contributor

aojea commented Apr 24, 2024

we are using haproxy as implementation of loadbalancer because we already use it in KIND, and it does not support UDP haproxy/haproxy#62

We need to understand first if there are other LB we can use to replace haproxy, like envoy ... but that may take time ... not very top priority :(

@skizot722
Copy link
Author

Thanks @aojea - that's an interesting thread.

@danwinship
Copy link
Contributor

The haproxy thread there suggests that nginx does UDP proxying for some value of UDP proxying, and it looks like ingress-nginx supports UDP Ingress, which suggests nginx's UDP support is good enough for what Kubernetes Services need.

@aojea
Copy link
Contributor

aojea commented May 2, 2024

back when we discussed this in kind , several years ago , I've tried with envoy since also offers an API to control remotely
and accepts UDP https://www.envoyproxy.io/docs/envoy/latest/start/sandboxes/udp ... it is also used widely for cloud providers as loadbalancers so it will provide the most realistic implementation

If I have time I will try to replace haproxy with envoy ... unless someone beats me 😄

@aojea
Copy link
Contributor

aojea commented May 4, 2024

I've also added an example https://github.com/kubernetes-sigs/cloud-provider-kind/blob/main/examples/loadbalancer_udp_tcp.yaml so you can try it

@skizot722
Copy link
Author

@aojea - wow, thank you so much for the work and lightning fast turnaround!

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

Successfully merging a pull request may close this issue.

3 participants