The provider imports the kubeadm, kubelet and kubeproxy configuration types. The provider imports Cluster API types, too. The latter is locked to release-1.9, but the provider targets kubeadm release-1.10. Due to an API change, kubeadm types are not compatible across release-1.9 and release-1.10.
The workaround to the problems of configuration types is to have the provider define its own types for now. These types must marshal into valid kubeadm MasterConfigurations and NodeConfigurations.
The provider imports the kubeadm, kubelet and kubeproxy configuration types. The provider imports Cluster API types, too. The latter is locked to release-1.9, but the provider targets kubeadm release-1.10. Due to an API change, kubeadm types are not compatible across release-1.9 and release-1.10.