KCNA Kubernetes Fundamentals Practice Question
A developer wants to run a single instance of a Pod on every node in a Kubernetes cluster to collect node-level metrics. Which Kubernetes resource is most appropriate for this task?
⚠ Common exam trap
It's easy for candidates to confuse DaemonSet with Deployment, but DaemonSet is the only resource that guarantees one Pod per node automatically.
Answer choices
Why each option matters
Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.
Correct answer & explanation
✓
DaemonSet
DaemonSet is specifically designed to run a Pod on each node in the cluster, making it perfect for node-level agents like metric collectors. It automatically handles node additions and removals, ensuring that the daemon is always present where needed. Deployment, StatefulSet, and ReplicaSet do not provide this per-node guarantee.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
DaemonSet
Why this is correct
DaemonSet ensures that a copy of a Pod runs on every node (or a subset of nodes via node selectors). It is the ideal resource for cluster-wide daemons such as log collectors, monitoring agents, or storage daemons. When nodes are added to the cluster, the DaemonSet automatically schedules a Pod on the new node, and when nodes are removed, the Pods are garbage collected.
- ✗
ReplicaSet
Why it's wrong here
ReplicaSet maintains a stable set of replica Pods but does not ensure that they are distributed across all nodes. It only guarantees a specified number of Pods are running, not their placement. For per-node Pods, you would need to use node affinity and set replicas to the number of nodes, but that is not automatic. ReplicaSet is not designed for daemon-like workloads.
- ✗
StatefulSet
Why it's wrong here
StatefulSet provides stable identities and storage for stateful applications, but it does not ensure that a Pod runs on each node. It is designed for applications that require ordered deployment and persistent storage, not for node-level daemons. Using a StatefulSet would not automatically place Pods on all nodes and would add unnecessary complexity.
- ✗
Deployment
Why it's wrong here
A Deployment manages replicated Pods but does not guarantee that one Pod runs on every node. It schedules Pods based on resource availability and constraints, and the number of replicas is fixed. To run on every node, you would need to manually set node affinity and replicas equal to the number of nodes, which is not dynamic. Deployment is not the right choice for per-node agents.
Go deeper
Related to this question
About these practice questions
One of 930 original KCNA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official CNCF exam blueprint
This KCNA practice question is part of Courseiva's free CNCF certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the KCNA exam.