Hibrid k3s cluster using Tailscale VPN

Hi everyone,

I’m planning to build just for fun/learning and probably for some local tests, a k3s cluster with 3 nodes. The idea of this setup is to use 2 small servers I have at home as nodes and one cloud instance as the master node. I intend to use Tailscale VPN to connect all the nodes.

The reason I want to use the cloud instance as the master is that it will definitely have better availability than my 2 home server nodes. In the master, I would put only the most essential stuff by tagging the nodes (if possible in k3s) to avoid scheduling pods on the Master unless specified as such.

One thing that would be nice is to have all the traffic go through the cloud instance’s public IP or domain. That way, I can have access to the server from the outside world. I can also expand this in the future with more cloud nodes if needed and add a load balancer in front to redirect traffic. But this is just an idea I have for the future if my setup is very unstable.

k3s setup diagram

My questions are:

  • I saw that there were some issues with using Tailscale VPN and k3s. Is this still an issue?
  • Is it possible to route all the traffic through only one node? (I know it’s a single point of failure; I will work on that later to improve)
  • Are there any issues that I should be aware of?
  • I was planning to do everything with Ansible to have it in code and probably try to use something like: https://github.com/PyratLabs/ansible-role-k3s

Thanks in advance!