Kubernetes - Static Pods
Static Pods are defined in /etc/kubernetes/manifests
(When installing Kubernetes with the kubeadm
tool.)
Static Pods are managed directly by the kubelet
daemon on a specific node, without the API server observing them. I.e.kubelet
watches /etc/kubernetes/manifests
.
Static Pods are under namepace kube-system
.
To check kubelet
status: systemctl status kubelet
To check kubelet
logs: journalctl -u kubelet
To check static pods logs:
$ crictl ps
$ crictl logs <container>
Mirror pods
The kubelet
automatically creates a mirror pod on the api-server for each static pod. This means that the pods running on a node are visible on the API server, but cannot be controlled from there.
To check the mirror Pods on the API server:
$ kubectl get pods
How to check if a pod is a static pod?
Checking the owner reference of a static pod using kubectl describe
command should indicate that such a pod is not controlled by a ReplicaSet
but rather from Node/controlplane.