Somewhat off-topic, but as someone interested in k8s, why is it seemingly such a pain to set up in non-"cloud" environments? I know that Rancher exists - and I'm waiting for 2.0 to drop before migrating to Rancher-managed k8s - but beyond that the whole "ecosystem" of k8s seems pretty unfriendly to get started in without using AWS/GCE/Azure/etc (to the point of not being able to set up a cluster on bare metal at all!…
Check out Kubeadm. It's by far the best way to do k8s on Bare metal right now in terms of ease of use. If you want something highly customizable, check out kubespray, which is basically a big fat ansible playbook which will deployment k8s almost anywhere.
I tried kubeadm a little while back, and the farthest I could get was just setting up the container network. The fact that it's still marked as alpha/beta in a lot of features[1] isn't reassuring.
I will check out kubespray though; thanks for the recommendation!
[1] https://kubernetes.io/docs/setup/independent/create-cluster-...