If only deploying Kubernetes was as simple as running a golang up and etcd tolerated some latency, you could spin up a node in AWS, another in Hetzner, and a third in DigitalOcean.
Try microk8s.io , it uses dqlite (replicated SQLite + raft leader election; also, yes, it needs 'snap', just let it go, it doesn't matter). Use a fixed version stable channel, because they apparently employ the world's eminent simian scientists to break your cluster on every major update. Even on a test cluster don't be too frugal with RAM.
https://ubuntu.com/tutorials/getting-started-with-kubernetes...