CertGrid CertGrid
Hands-on Lab·Kubernetes and Cloud Native Associate

DaemonSets and Node Eligibility

"A DaemonSet runs one Pod on every node" is the definition everyone learns and it is not what the controller does. It runs one Pod on every node that will accept one, and the number it reports as DESIRED is the result of that filtering rather than a count of your nodes. Four nodes, three Pods, and the missing one explained and then fixed.

Scheduling and Placement Guide 16 of 46 Beginner

Written against the versions above. DaemonSet Pods are scheduled by the default scheduler and are subject to taints like anything else. They do get some tolerations added automatically - `node.kubernetes.io/disk-pressure`, `unschedulable` and similar - so that a node agent is not evicted by the conditions it exists to report on. The control-plane taint is not among them.

The count is the point of this guide, so all four nodes are listed: one control plane and three workers, which is why the numbers below are 3 and then 4.
Server NameIP AddressOSRolesCPURAMHDD
CKA1001192.168.0.175Ubuntu 26.04 LTSControl Plane Node2 Core4 GB50 GB
CKA1001-NODE01192.168.0.176Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE02192.168.0.177Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB
CKA1001-NODE03192.168.0.178Ubuntu 26.04 LTSWorker Node2 Core4 GB50 GB

Before you start

  1. One per node, supposedly

  2. The node that said no

  3. Tolerate it and count again

Official sources