I'm actually right in the middle of putting that together as well. I quickly arrived at analysis paralysis when choosing how to bootstrap Kubernetes and run it in production given the tremendous flexibility. Tons of options[1], but nearly all of them are incompletely documented. Ended up walking through Kelsey Hightower's K8s the hard way[2] repo to peel it all apart.
End result will probably look something like Terraform -> SaltStack -> Kubernetes.
That's exactly how we started: manually bootstrapped a cluster through "Kubernetes the Hard Way", assembled the steps from there and what else we found during discovery out to Ansible playbooks and now we are contemplating kube-aws to setup the production cluster in AWS.
End result will probably look something like Terraform -> SaltStack -> Kubernetes.
[1] https://kubernetes.io/docs/getting-started-guides/
[2] https://github.com/kelseyhightower/kubernetes-the-hard-way