In this post, I’ll go through the process of setting up a Kubernetes cluster with one or more machines.

I’m using Alpine Linux to minimize the actual operating system, and try to allow for as much of the cluster as possible to be running inside of Kubernetes. For the Kubernetes cluster I’m using K3S, as that seemed to be a good out-of-the-box solution that supports both Alpine Linux and allows for clusters with multiple machines. And to connect the machines in the cluster together, I’m using ZeroTier, as that allows for the machines to discover and communicate to each other behind firewalls on different networks.