Question

How-to deliver a new public IP to a k8s cluster so a k8s service that requires UDP port (Bind DNS server) can use it?

How-to deliver a new public IP to a k8s cluster so a k8s service that requires UDP port (Bind DNS server) can use it?

I know how to expose an IP address in K8s services by defining ‘externalIPs’ attribute. It just won’t work unless the IP address is available to the cluster.

I wonder if I can attach a Floating IP to a K8s service. So far I was not able to. I need an equivalent solution, somehow.

I even tried DO’s load balancer but I could not configure it for UDP traffic.

Subscribe
Share

I need to have 2 servers with unique IP address for use as master/slave DNS servers. And I’ve wanted to do it using Kubernetes. But I was not able to forward new instances of public IPs to it’s K8s deployment. I also fail to route UDP traffic using Digital Ocean Load Balancer.


Submit an answer
You can type!ref in this text area to quickly search our full set of tutorials, documentation & marketplace offerings and insert the link!

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

Hi @superherointj

You are correct. Unfortunately, our LB’s do not support UDP traffic at this time.

The node IP addresses should not be relied upon to stay consistent. Whenever a node is replaced or upgraded the IP will be changed.

To accomplish this you would likely need to set up an external proxy to keep track of the current node IP’s and forward traffic accordingly. Because of these limitations you may have better luck hosting your UDP service on our standard droplet product.

Regards,

John Kwiatkoski Senior Developer Support Engineer - Kubernetes