This cluster uses k0s.
Vanilla Kubernetes is much more manual, and requires making a lot more choices. For instance, you have to choose a cluster data store, and deploy it externally. Kubernetes distributions might include a datastore for you — k0s includes etcd in the binary and configures it with the same configuration file, so that it feels like a part of Kubernetes itself, even though it’s a pluggable dependency for which you could choose an alternative if you like.
Other options:
- k3s.
I used this in the first versions of this cluster.
- No cluster HA (I added kube-vip)
 - Required some networking CNI binary installed separately I forget
 - Required manual cluster bring-up by touching nodes one-by-one.
 - Required all nodes have a network interface with the same name (like 
eth0). - Stopping k3s would keep all containers running; you had to stop containers in a separate step.
 
 
TODO: Add more about Kubernetes distribution options