KCNA Container Orchestration Practice Question
A team runs a stateful application in a Kubernetes cluster. They need each Pod to have a stable network identity and its own persistent storage that survives Pod rescheduling. Which controller should they use?
⚠ Common exam trap
The trap here is assuming a Deployment with a PersistentVolumeClaim can provide stable per-Pod storage, when it cannot guarantee identity or one-to-one storage.
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
✓
A StatefulSet
StatefulSets are designed for stateful applications requiring stable network identifiers and persistent storage. They provide ordinal Pod names, stable DNS via a headless Service, and PersistentVolumeClaims that are retained. Deployments, DaemonSets, and ReplicaSets manage stateless or node-level workloads and do not offer these guarantees.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
A ReplicaSet
Why it's wrong here
A ReplicaSet maintains a specified number of identical Pods but does not offer stable identities or persistent storage. Pods are replaceable and have random names. It is a lower-level controller often managed by a Deployment. It cannot satisfy the need for stable network identity and dedicated storage per Pod.
- ✗
A DaemonSet
Why it's wrong here
A DaemonSet ensures a copy of a Pod runs on every node, typically for node-level services like logging or monitoring. It does not provide stable network identities or per-Pod persistent storage for stateful applications. Pods are tied to nodes, and storage is not managed per Pod. Therefore, it is unsuitable for this scenario.
- ✗
A Deployment
Why it's wrong here
Deployments manage stateless applications with interchangeable Pods. Pods do not have stable identities; their names are random, and they share or lack persistent storage. While a Deployment can use a PersistentVolumeClaim, it cannot provide per-Pod stable storage or identity. Thus, it does not meet the stateful requirements.
- ✓
A StatefulSet
Why this is correct
StatefulSets provide stable, unique network identities and persistent storage for each Pod. Pods are created with ordinal names and a headless Service gives them stable DNS names. PersistentVolumeClaims are retained across rescheduling. This exactly matches the requirement for stable identity and per-Pod storage, making it the correct choice.
Go deeper
Related to this question
About these practice questions
Courseiva writes every KCNA question from scratch — 930 in total, each with an explanation and a wrong-answer breakdown. None are copied from real exams or dumps. 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.