kubeapi server as kubernetes pod

Solution 1:

Kubelet can be configured to manage pods locally from configuration files on the disk. As a result, kubeadm and similar deployments use this to spin up the control plane services, which has the added benefit of those containers being treated as a pod from kubectl.

For example, on Ubuntu kubeadm will put the pod configuration files in /etc/kubernetes/manifests/. You could actually put your own pods there as well for kubelet to manage and it would spin them up (Although note this is not recommended, you should almost always use a node selector instead).