giantswarm / roadmap

Giant Swarm Product Roadmap
https://github.com/orgs/giantswarm/projects/273
Apache License 2.0
3 stars 0 forks source link

VPN access to installations #960

Closed teemow closed 1 year ago

teemow commented 2 years ago

In case all installations are private (at least the management api and the workload cluster k8s endpoints). How do we connect to them? How do we connect to all nodes to have SSH access?

whites11 commented 2 years ago

I put some thought on this. I don't have everything clear in my head yet, but I feel like a wireguard-based solution along the lines of tailscale is the way to go. We could drop bastion hosts completely and make all nodes become a part of the wireguard network (one network for each cluster + one for employees). For security reasons I don't think we can adopt a full mesh topology, but we still have to rely on a hun-and-spoke topology like we partially do now. The difference between our legacy setup and the one I'm proposing is that we would use the wireguard hub as jumphost for all nodes for both k8s API and SSH access.

We would need a wireguard "control plane" in order to make this work in a manageable way, but in all my research I didn't find any that would be ready to use for us. A list of some I've looked at:

Happy to check out other alternatives if you know any.

I also thought for a second to implement a custom solution in-house but it's just too much work to make sense IMHO

alex-dabija commented 1 year ago

We decided to use Teleport for SSH and cluster access (Kubernetes API). Closing.