Home / Technology / Kubernetes Myth #02: All Pods Are Created Using the API Server and Scheduler

Kubernetes Myth #02: All Pods Are Created Using the API Server and Scheduler

❌ Myth: Every Pod in Kubernetes is created through the API server and scheduled by the Kubernetes scheduler.

✅ Reality: Not all Pods follow this path! There’s a special type of Pod that completely bypasses the API server and scheduler—Static Pods.

Here’s how they break the rules:
🔹 No API Server Involvement – Static Pods are launched directly by the kubelet from YAML files stored in “/etc/kubernetes/manifests/”.
🔹 No Scheduler Needed – The kubelet binds them to a specific node instead of waiting for the Kubernetes scheduler to assign them.
🔹 Mirror Pods in the API Server – They appear in kubectl get pods, but deleting them via kubectl delete pod won’t work—you have to remove their YAML file!
🔹 Critical for Kubernetes Itself – The API server, scheduler, and controller manager in self-managed clusters are all Static Pods running outside the normal scheduling flow.

💡 Fun Fact: Since Static Pods start before the CNI plugin is ready, they initially have no network! Only after the CNI kicks in do they get an IP.

Would you ever use a Static Pod outside of the control plane? Let’s discuss below!
Image description