CKA Workloads and Scheduling Practice Question
Which THREE of the following are characteristics of a Kubernetes StatefulSet? (Select THREE)
⚠ Common exam trap
Many candidates confuse StatefulSet behavior with Deployment behavior, assuming pods are interchangeable or created in random order, but StatefulSets enforce ordered creation/termination and unique identities for stateful workloads.
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
✓
Pods are created and terminated in a predictable order (ordinal index)
Option A is correct because a StatefulSet assigns each pod a stable ordinal index (0, 1, 2, ...) and creates, scales, and terminates pods in that strict ordered sequence, unlike a Deployment. Option B is correct because StatefulSets use volumeClaimTemplates to give each pod its own dedicated PersistentVolumeClaim, which is retained and reattached to the same ordinal pod even after rescheduling. Option D is correct because each StatefulSet pod receives a stable, unique network identity in the form of a predictable hostname (pod-name.service-name) backed by a headless Service, so DNS names remain consistent across restarts. Option C is incorrect because StatefulSet pods are never created in random order; ordering is deterministic by ordinal. Option E is incorrect because StatefulSet pods are deliberately not interchangeable — each has its own identity, hostname, and storage, which is the opposite of the interchangeable replicas in a Deployment.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Pods are created and terminated in a predictable order (ordinal index)
Why this is correct
This is a key characteristic of StatefulSets. They assign ordinal indices (0,1,2,...) and create/scale/terminate pods in order, ensuring that each pod is fully ready before the next is started. For example, when scaling up, pod-0 starts and becomes ready, then pod-1, etc. During termination, it's reverse order. This ordered behavior is critical for applications requiring leader election or primary/secondary roles, as the first pod often becomes the leader.
- ✓
Each pod gets its own PersistentVolumeClaim (PVC) that persists across rescheduling
Why this is correct
StatefulSets use volumeClaimTemplates to create a dedicated PVC for each pod replica. This PVC is bound to a PersistentVolume (PV) and remains associated with the pod's ordinal identity. If the pod is rescheduled to a different node, the same PVC is reattached, ensuring data persistence and consistency across restarts and rescheduling events.
- ✗
Pods are created in random order
Why it's wrong here
This is incorrect. StatefulSets do not create pods randomly; they create them sequentially based on ordinal index, starting from 0 to N-1. Random creation would violate the guaranteed ordering that StatefulSets provide, which is essential for stateful applications that rely on stable identities and ordered startup. Deployments and ReplicaSets create pods in arbitrary order, but StatefulSets specifically avoid randomness.
- ✓
Each pod gets a unique, stable network identity (hostname)
Why this is correct
StatefulSets create stable network identities for each pod using a predictable hostname based on the StatefulSet name and ordinal index (e.g., web-0, web-1). These hostnames are stable across rescheduling because the pod's name is preserved, and Kubernetes DNS resolves these names to the pod's IP address. This stability is essential for stateful services like databases that need to discover peers by consistent canonical names.
- ✗
All pods in the StatefulSet are interchangeable
Why it's wrong here
This is incorrect. Each pod in a StatefulSet has its own unique ordinal identity, stable hostname, and dedicated storage. They are not interchangeable because each pod maintains its own state and network identity; unlike a Deployment where pods are equivalent and can be replaced arbitrarily, StatefulSet pods must be treated as individual, identifiable instances. Replacing one with another would break the stable identity guarantees.
Go deeper
Related to this question
Learn chapter
Network Policies and Secure Connectivity
Key term
Storage Classes
A Storage Class in Kubernetes is a template that defines how persistent storage is provisioned automatically, including the type of storage, performance characteristics, and provisioning policies.
Key term
Ingress Resources
Ingress Resources are Kubernetes API objects that manage external access to services inside a cluster, typically HTTP and HTTPS traffic, by defining rules for routing requests based on hostnames and paths.
About these practice questions
Courseiva writes every CKA question from scratch — 726 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 CKA 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 CKA exam.