There are indeed many options for automated setups. I did my first steps with Kubernetes on GKE, later followed the CoreOS guide to set it up on bare metal. This guide is for creators, a written form of my lessons learned. It should enable people to run secure clusters wherever they want.
In case you missed it, there's a repository[1] in the same org which offers fully automated provisioning using Terraform.