CKAD Application Deployment Practice Question
A company wants to deploy a stateful database cluster where each pod has its own persistent storage. They need stable network identities and ordered pod creation. Which resource should they use?
⚠ Common exam trap
CNCF often tests the misconception that Deployment can handle stateful workloads by using PersistentVolumeClaims, but they fail to recognize that Deployment lacks stable network identities and ordered pod management, which are critical for database clustering.
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
✓
StatefulSet
StatefulSet is the correct resource because it provides stable, unique network identities (via headless Services and ordinal hostnames) and ordered, graceful deployment and scaling (pod creation/deletion in sequence). This matches the requirements for a stateful database cluster where each pod requires its own PersistentVolumeClaim (PVC) and stable identity for clustering.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Deployment
Why it's wrong here
A Deployment manages stateless pods as interchangeable replicas; each pod gets a random hostname and no guaranteed stable network identity. Persistent database clusters need each node to maintain a fixed identity so clients and peers can reliably reconnect. Deployments also lack volumeClaimTemplates, making it awkward to give every pod its own dedicated PersistentVolume. Thus, using a Deployment for a database cluster risks split-brain and data inconsistencies.
- ✓
StatefulSet
Why this is correct
StatefulSet is the correct controller because it assigns each pod a stable, ordinal hostname (e.g., db-0, db-1) backed by a Headless Service, so cluster members can discover each other deterministically. Its volumeClaimTemplates provision a unique PersistentVolumeClaim for every replica, ensuring data survives restarts. StatefulSet also supports ordered, graceful deployment and scaling, which matches the initialization and quorum requirements of stateful databases.
- ✗
CronJob
Why it's wrong here
CronJob is fundamentally a job scheduler: it creates one or more short-lived Pods at predetermined times to run tasks like backups or reports, then terminates them. It does not maintain a continuous, multi-node cluster, nor does it provide stable identities or persistent storage for a database. Even if you scheduled a database launch, it would run once and exit, so a highly available stateful cluster cannot be built on CronJob.
- ✗
DaemonSet
Why it's wrong here
DaemonSet ensures that a copy of a Pod runs on every node in the cluster, which is ideal for node-level infrastructure such as log collectors, metrics agents, or network proxies. For a database cluster, using a DaemonSet would tie replica count to the node count and force exactly one database pod per node, with no control over cluster state or scaling based on capacity. DaemonSet also does not provide per-replica persistent volumes or ordered startup, so it cannot support the requirements of a coordinated database cluster.
Go deeper
Related to this question
About these practice questions
Courseiva writes every CKAD question from scratch — 826 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 by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
This CKAD 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 CKAD exam.