-
Notifications
You must be signed in to change notification settings - Fork 127
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
Add cross mesh granularity #328
base: main
Are you sure you want to change the base?
Conversation
I also updated the graph logic to visualize the plain connection. If somebody has a larger cluster with interesting topology and cross mesh granularity, they could add a cross.svg to the docs. |
I am now testing this in a 50 node cluster and its working great so far. But the |
Amazing stuff @skirsten! I think this will be a great feature for Kilo. We'll need to add more tests before releasing, but that should not hold things up |
Consider the case of typical "enterprise" LAN, with many Offices and firewalled subnets. We have IoT k8s nodes of same cluster, randomly scattered via these subnets. All nodes only have internal IPs, no public interfaces, no cloud. Unfortunately:
So, I've end up with implementing |
This is a re-implementation of #98. A rebase was not possible so the code was rewritten but without any logic changes.
I deployed it in a test cluster running in addon + flannel mode:
The cluster has 4 nodes in 2 different subnets / regions. As can be seen by these example routes from one of the hosts this is working as expected:
One problem I found:
If I upgrade a existing kilo deployment from
full
tocross
granularity the flannel routing is broken until I restart the k3s agent.This might not be related with this code and rather that it was broken by the
full
granularity.Rebooting the instances also seems to work so this seems unrelated to me.
I will now implement the graph logic. If somebody can verify and test this in the CNI mode that would be great. I published a docker image here: ghcr.io/skirsten/kilo