Courseiva
Container Orchestration →easyMultiple Choice

KCNA Container Orchestration Practice Question

You are deploying a stateful application that requires each pod to have a stable, unique network identity and its own persistent storage. Which Kubernetes resource should you use?

⚠ Common exam trap

The trap here is assuming that a Deployment can provide per-pod persistent storage, but Deployments share a single PVC across all replicas if specified, which is not suitable for stateful applications.

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 for stateful applications because it provides stable network identities and persistent storage per pod. Each pod in a StatefulSet gets a unique ordinal index, a stable hostname, and its own PersistentVolumeClaim. Deployments, DaemonSets, and ReplicaSets are designed for stateless 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.

  • ✗

    DaemonSet

    Why it's wrong here

    A DaemonSet ensures that a copy of a pod runs on every node (or a subset), typically for cluster-wide services like log collectors or monitoring agents. It does not provide stable network identities or per-pod persistent storage. Pods are not uniquely identifiable and are not meant for stateful applications. Therefore, it does not meet the requirements.

  • ✗

    ReplicaSet

    Why it's wrong here

    A ReplicaSet maintains a stable set of replica pods but does not provide stable network identities or persistent storage per pod. Pods are created with random names and are replaceable. While it can be used for stateless applications, it lacks the features needed for stateful workloads. Deployments manage ReplicaSets, but neither is suitable for stateful requirements.

  • ✗

    Deployment

    Why it's wrong here

    A Deployment manages stateless pods, where pods are interchangeable and do not have stable identities or persistent storage per pod. While you can attach a PersistentVolumeClaim to a Deployment, all replicas would share the same PVC if specified, which is not suitable for stateful applications requiring per-pod storage. Deployments are designed for scalability and rolling updates of stateless workloads.

  • ✓

    StatefulSet

    Why this is correct

    StatefulSet is designed for stateful applications, providing stable, unique network identifiers (like pod-0, pod-1) and stable persistent storage per pod via volumeClaimTemplates. Each pod gets its own PVC, and the pod's hostname and storage are preserved across rescheduling. This makes StatefulSet ideal for databases, message queues, and other stateful workloads that require stable identity and storage.

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 →

How Courseiva writes practice questions · Editorial policy

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.