A DaemonSet is a Kubernetes workload resource that ensures one pod runs on every eligible node. If its pod is deleted, the DaemonSet recreates it on a node missing that pod. section 4.1.1
Use a DaemonSet when a node-level component must run continuously across the cluster:
- Run kube-proxy and container network interface components on each node. section 1.8
- Inspect DaemonSets with kubectl get ds or kubectl get ds -A; compare desired, current, ready, and available counts. section 1.8
- Inspect a DaemonSet pod's assigned node in its YAML by locating nodeName; retrieve pod names with kubectl get po -A. section 4.1.1
Distinguish kubelet from a DaemonSet
kubelet is a Linux background process managed on the host rather than by Kubernetes as a DaemonSet. Check it with systemctl list-unit-files --type service | grep kubelet -A3 -B3, then start it with systemctl start kubelet if it is stopped. section 1.8
Figure 1.13 DaemonSets ensure that a single pod is running on each node in the cluster. kube-proxy and CNI both run as a DaemonSet.
Use the diagram to visualize the one-pod-per-node placement pattern, including kube-proxy and CNI workloads. section 1.8


