mcserverhosting-net / cluster

Cluster in a configurable helm chart.
0 stars 0 forks source link

Research / Implement DNS sync solution #1

Open sfxworks opened 5 years ago

sfxworks commented 5 years ago

With the introduction of the local external traffic policy, one node will be only able to handle communications. While this is necessary for networks to gather client IP addresses and enforce IP bans, SRV records need to be handled appropriately in scenarios where game servers are to be moved across nodes for any reason.

https://github.com/kubernetes-incubator/external-dns

There is documentation for CloudFlare, but not for SRV records. However, it is possible it is just an undocumented argument or config given the many record types. Then again, handling an SRV would require additional functionality in that it would need to capture the NodePort and handle it accordingly. Not to mention detect the right address to use in case of this type of service policy. Other deployments may also benefit from this service.

https://api.cloudflare.com/ Previously, there was a script that used the Cloudflare API in order to register the SRV. It may not be hard to make a watcher to constantly query the server for an active connection and update the record in case of changes.

sfxworks commented 5 years ago

It has been confirmed possible to use cloudflared argo to service as a DNS proxy https://developers.cloudflare.com/1.1.1.1/dns-over-https/cloudflared-proxy/ It may be possible to then allow for either an Operator or External DNS to be in sync with this service.