Static pods are pods that are not managed by an API server, but directly by a Kubelet (the thing that represents a node in a Kubernetes cluster). They are used to run the Kubernetes control plane in kubeadm-managed clusters and to run pods on devices that may not be connected to an API server at all times, such as IoT devices.

The Kubelet mirrors static pods as mirror pods on the API server when one is available. That’s why you can see control plane pods in the kube-system namespace if you are on a kubeadm-managed cluster. You cannot, however, use the mirror pods to control the life cycle of the mirrored static pods – they are really just mirror images of the real things, which the cluster has no control over.