kubeadm and Hosted Control Plane Abstraction

Hi all,
I was wondering whether the kubeadm-based cluster provisioning model can support something closer to a truly hosted control plane experience.
Currently, control plane nodes are joined as “master” nodes, and the API server is exposed via mirror pods. In some scenarios, it would be preferable not to surface these underlying implementation details to end users, especially when aiming to provide a more abstracted, hosted control plane setup.

The key is to make sure kubelet on the CP nodes does not register/create Node object with the API server and also, make sure kubelet does not talk to API Server for other activities (by starving it of kubeconfig).

Not sure if we can do that with kubeadm init, but kubeadm has option to run individual phases. If you carefully craft them and replace some of the steps with manual steps, it might be possible.