Connecting US Cloud services to EU cluster and load balancer #883
-
Hi all, I am having a think about potential means of connecting US Cloud servers (ASH etc.) in to a cluster setup in the EU. The obvious blocker is Hetzner's virtual networks do not allow for cross region communication. So instead I am looking to use Nebula (https://github.com/slackhq/nebula) to create an overlay network that will link my EU and US clusters. It is simple enough to Dockerise and allow the services to communicate via exposed IPs. The question then becomes how best to manage the two together? Ideally a US server could just be added as an additional node to the existing EU cluster, but that is perhaps more of a significant change to the terraform code. Alternatively, two parallel instances could be deployed, one to the EU and one to the US and then the API of each becomes accessible although it requires a lot more servers (min 3 for HA for example) simply to add a US instance, and not sure if that provides as many advantages (other than security of the overlay network over exposing the IP). Any thoughts welcome. If there seems to be a solid approach I will look at putting it together. |
Beta Was this translation helpful? Give feedback.
Replies: 5 comments 8 replies
-
@maggie44 Have a look at https://github.com/submariner-io/submariner, it's by the Rancher team, the same folks behind k3s which we use, so it will be compatible. And if you can make it work and it requires additions to our codebase, please PRs welcome! |
Beta Was this translation helpful? Give feedback.
-
@maggie44 FYI k3s now supports tailscale, this could help you https://docs.k3s.io/installation/network-options#embedded-k3s-multicloud-solution |
Beta Was this translation helpful? Give feedback.
-
@maggie44 There's also Kubevela multi cluster delivery, I am currently looking into it. You can use either oam's cluster gateway or open cluster management. I am looking into achieving the same thing (using both eu and us clusters to serve the same application), will feedback here if it works. |
Beta Was this translation helpful? Give feedback.
-
Why would you do this, and have another layer of abstraction when you can just connect machines across DCs, ultimately having one cluster (#1086)? I this something that isn't supported by Hetzner? |
Beta Was this translation helpful? Give feedback.
-
Can, with tunnels it's possible. However the geo locations are so far away
that it may not be ideal. However PRs welcome to support that if that's
something that you can implement. We would have to deal with multiple
Hetzner private networks and distribute them per geo location, and run the
tunnel on top and handle the routing between the two ourselves.
…On Tue, Nov 28, 2023 at 9:15 AM Can H. Tartanoglu ***@***.***> wrote:
I am just curious why we would be creating multiple clusters across DCs
when we could unify the nodes under one cluster, would you say the added
networking complexity outweighs the complexity of multi-cluster? Just
looking for reasons for and against either method.
—
Reply to this email directly, view it on GitHub
<#883 (reply in thread)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AAD6TG64SRL6LT67GPOJVZLYGWMSZAVCNFSM6AAAAAA2ERM3U6VHI2DSMVQWIX3LMV43SRDJONRXK43TNFXW4Q3PNVWWK3TUHM3TMOBZGQZDG>
.
You are receiving this because you commented.Message ID:
<kube-hetzner/terraform-hcloud-kube-hetzner/repo-discussions/883/comments/7689423
@github.com>
|
Beta Was this translation helpful? Give feedback.
@caniko
The first logic would also occur to just pool the nodes from all zones in a single cluster, but the problem is Hetzner does not support this from their own private networking level.
A second problem is latency issues due to the physical distance. If you would run applications and eg your database lands on a node in EU and your app in US, your visitors will not have a great experience on your website or application.
Also, from what I read in the past, there were many people who experience all kinds of weird problems with scheduling etc... because of latency issues. You can imagine if probes and healthchecks from your controlplane run into latency or worse timeout errors because of …