❌ 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!