Home

static pods

Kubelet can manage a node independently(+docker/CRI) without a Kubernetes cluster or Kube API server

/etc/kubernetes/manifests/ can be used to pass pod definition files. The kubelets periodically check this location for files and creates pods. It also ensures the pods stay alive. If any changes are made in the definition files, the kubelet makes those reflected in the pods.

The location for the manifests file can be configured in kubelet.service file –pod-manifest-path=/etc/Kubaernetes/manifests

The second way is to add the location of new config file in the kubelet.service

–config=kubeconfig.yaml

kubeconfig.yaml

staticPodPath: /etc/kubernetes/manifests/

If kube-apiserver is available it will identify static pods. However, the kube-apiserver can't be used to manipulate this pod. Only config files in a manifest folder can do it.

Static pods are used for deploying Control Plane components. Created by kubelet

Daemon sets are used to deploy monitoring and logging agents on nodes. These are created by kube-apiserver

Both are ignored by kube-scheduler

In order to find the location of kubelet config file:

ps -aux | grep kubelet
//ps -aux | grep /usr/bin/kubelet
// From the output we can see that the kubelet config file used is /var/lib/kubelet/config.yaml
grep -i staticpod /var/lib/kubelet/config.yaml