CKAD Application Design and Build Practice Question
Which THREE are valid reasons to use a StatefulSet instead of a Deployment?
⚠ Common exam trap
CNCF often tests the misconception that only StatefulSets support rolling updates, but both controllers do; the trap is confusing a shared feature with a unique StatefulSet capability.
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
✓
Each pod requires a stable, unique network identity.
StatefulSet assigns each pod a stable, unique network identity (e.g., a hostname like `web-0`, `web-1`) via a headless Service, which is critical for stateful applications like databases that rely on consistent DNS names for clustering and discovery. Deployments create pods with random, ephemeral hostnames, making them unsuitable for workloads requiring predictable network identities.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The application requires rolling updates.
Why it's wrong here
Rolling updates are not a StatefulSet-exclusive capability. Deployments also support rolling updates, with configurable maxSurge and maxUnavailable parameters, and StatefulSets have their own ordered, partition-based rolling update strategy. Since both controllers provide this feature, the mere requirement of rolling updates does not justify choosing a StatefulSet over a Deployment.
- ✓
Each pod requires a stable, unique network identity.
Why this is correct
StatefulSet pods are assigned a stable, unique network identity based on their ordinal index (e.g., my-statefulset-0, my-statefulset-1). This hostname remains consistent across pod rescheduling, and when paired with a headless Service, each pod has a stable DNS name that other components can rely on. Deployments, by contrast, create pods with random suffixes and no guarantee of stable hostnames.
- ✓
Each pod needs its own persistent volume that persists across rescheduling.
Why this is correct
StatefulSets use volumeClaimTemplates to automatically provision a unique PersistentVolumeClaim for each replica, ensuring every pod gets its own persistent volume that is reattached when the pod is rescheduled. Deployments share a single volume template across all replicas, so they cannot provide per-pod durable storage that survives rescheduling. This per-pod storage binding is a core reason to prefer StatefulSets for stateful workloads.
- ✗
The application cannot be scaled down.
Why it's wrong here
A StatefulSet can absolutely be scaled down; this is not a limitation of the controller. When scaled down, pods are terminated in reverse ordinal order (highest index first), which is a deliberate, safe process for stateful applications. Therefore, the claim that an application cannot be scaled down is not a valid reason to use a StatefulSet, because scaling down is fully supported.
- ✓
Pods must be terminated in reverse order during shutdown.
Why this is correct
StatefulSets guarantee that pods are terminated in reverse ordinal order during shutdown or scale-down, meaning the highest-numbered pod is stopped first. Deployments do not impose any ordering on pod termination; they may stop pods concurrently. This controlled, predictable shutdown sequence is valuable for workloads that require graceful teardown, such as database replicas, and is a legitimate reason to opt for a StatefulSet.
Go deeper
Related to this question
About these practice questions
One of 826 original CKAD 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 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.