A log-forwarder must run exactly one agent Pod on every node to read node-local files. Which workload fits?
Select an answer to reveal the explanation.
Short Explanation
Need one firefighter on every street? That is a DaemonSet—Kubernetes parks a Pod on each node and adds or removes them as nodes join or leave. A Deployment replica count is a headcount, not a per-node guarantee.
Full Explanation
A log-forwarder that must read node-local files needs exactly one agent Pod on every eligible node. A DaemonSet is the controller designed for that pattern: as nodes join the municipal cluster, the DaemonSet places a Pod there; as nodes leave, those Pods go away. You do not manually compute replica counts equal to node count.
A Deployment with replicas equal to the current node count drifts the moment autoscaling adds or removes workers and does not guarantee one-per-node placement without extra affinity rules that still fight node churn. A CronJob at midnight only provides periodic Pods, not continuous per-node coverage. A Job with parallelism equal to namespace count confuses namespaces with nodes and still finishes rather than tracking the node lifecycle.
Exam caveat: DaemonSet versus Deployment is a frequent CKAD discriminator—per-node coverage versus desired replica count anywhere schedulable. Use node selectors/tolerations on the DaemonSet for tainted city nodes when required.
Operational check: kubectl get ds -o wide, add a node (or cordon/uncordon tests in a lab), confirm Pod count tracks nodes, and kubectl describe ds for scheduling events when a node is missing the agent.