Replies: 6 comments
-
|
You seem to have an interesting use case. I don't think that's a limitation with this project or with the cloud provider. Kubernetes clusters that span multiple regions is probably not a good idea mainly due to network latency. |
Beta Was this translation helpful? Give feedback.
-
In OP I linked a complain where user says no more than 100 servers can be at once in hetzner's virtual network
https://docs.hetzner.com/networking/networks/overview/ So yes there definietly are some limitations on hetzner side.
That's true, I agree. But I nod need may of such nodes. I am ok with that in my scenario because of very specific needs. I'd just like to have at least some choice for all of these. |
Beta Was this translation helpful? Give feedback.
-
|
Yes folks, this is an important limitations, we need to support multiple networks. Will address soon for the upcoming v3. |
Beta Was this translation helpful? Give feedback.
-
|
Thank you @mysticaltech . I wonder is there any ETA? |
Beta Was this translation helpful? Give feedback.
-
|
I've recently seen that another project, hetzner-k3s supports clusters above 100 nodes - and the tech stack is similar (there is CA too)
I wonder if you bave both idea how to do it and will, or just will, because answer might lie in how this project is doing it. sadly I didn't have time (yet) to reverse engineer how it's done there but I maybe hope to find some work hours. |
Beta Was this translation helpful? Give feedback.
-
|
This is a great feature idea for large-scale deployments! Multi-region support with multiple private networks would enable clusters beyond the 100-server limit. This is a significant architectural change that needs:
Converting to a Discussion for proper community input. → Please create a discussion at: https://github.com/mysticaltech/terraform-hcloud-kube-hetzner/discussions/new?category=ideas This will allow the community to contribute ideas and we can design this together for a future release. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Description
Limit of 100 servers in total in single hetzner private network makes it hard to run large scale clusters because there is a limit of 100 serves total in private network:
(see https://lowendtalk.com/discussion/187187/very-disappointing-limitation-in-hetzner-cloud-max-100-servers-per-private-network)
On top of that, if one wants to schedule nodes from outside network zone that's being used as "core" for cluster (i.e all nodes come from Germany+Finland region, but someone wants a US based node) provisoning will fail because this node won't be able to communicate using private IP (which usage of seem to be hardcoded in project)
I suggest there should be some mechanism where we can specify multiple private networks to use for scheduling nodes (i.e as option for particular nodes, along
count,labeland other).These private networks could be either created on-demand with kube-hetzner as there is defined node pool which uses it, pre-created externally outside kube-hetzner, or even maybe as list of private networks to use and managed under kube-hetzner project
For nodes from outside networking zone where core infra resides, some kind of overlay network would have to be enforced, and public control plane LB IP address used for node joining instead of private IP. Use of network overlay could be used as boolean somewhere in
kube.tfand if set to true, settings in CNI could be used accordingly. To denote that given node pool is "external" (external to the core where cluster resides) it could, again, be denoted using some property likeexternal= truealongcount,labeletc.The one thing I didn't think about is what about cluster autoscaler. Could cluster autoscaler schedule nodes on demand in more that one private network? It would have to be aware when limit is hit, and maybe there would have to be some preference list which private networks to prioritize.
That's just very high level idea that comes fro my experience with this project. Again, great project, however I met some edge scenarios which aren't handled.
Happy to discuss this further!
Beta Was this translation helpful? Give feedback.
All reactions