Master without container

Why does kubeadm install master components inside a container? Is it a good practice in production environment? Is there an easy official way to install using systemd services for each component just like other server programs? I know the famous “kubernetes the hard way” but it’s too complicated. How about using some of the init phases to facilitate such deployment? How to do that?