Lots of improvements have been made on Kubernetes supporting Federation, specially outside of Google Cloud Engine. Here, we’ll setup a Kubernetes federation having the control plane running on a Google Cloud Engine instance and using Google DNS. After that, we’ll create a local on-prem cluster (in a VM, in my case) and make it join the Federation.
If you don’t know the basics of Kubernetes Federation, you can take a look at this official doc.
The details of the process are on this repository
Hope to be able to have a full on-premises cluster using CoreDNS in a very short future.
Any questions or feedback, please contact me.