Courseiva
Container Orchestration →mediumMultiple Choice

KCNA Container Orchestration Practice Question

A developer wants to deploy a stateful application that requires stable network identities and persistent storage per pod instance. Which Kubernetes resource is most appropriate?

⚠ Common exam trap

CNCF often tests the misconception that a Deployment with PersistentVolumeClaims is sufficient for stateful workloads, but the trap is that Deployments do not guarantee stable network identities or ordered pod naming, which are critical for applications like databases that rely on hostname-based 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 choice because it is specifically designed for stateful applications that require stable, unique network identities (via headless Services and ordinal hostnames) and persistent storage per pod instance (via PersistentVolumeClaims that are not shared across replicas). Unlike Deployments, StatefulSet maintains a sticky identity for each pod, ensuring that on rescheduling, the pod retains its name, network identity, and bound storage.

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 places one pod on every node for node-level functions such as logging or monitoring agents, not per-instance stateful replicas with stable identities. It is tempting because it guarantees pod placement and persistence on each node, and would be correct for running a log forwarder across the whole cluster.

  • ✗

    Job

    Why it's wrong here

    A Job runs pods to completion for batch processing, then stops; it provides no stable identity or persistent per-pod storage across restarts. It is tempting because it is the standard controller for one-off or scheduled tasks, and would be correct for a database migration or report-generation workload that terminates.

  • ✗

    Deployment

    Why it's wrong here

    A Deployment manages stateless replicas with interchangeable pod identities and no per-pod PersistentVolumeClaim binding, so it cannot deliver stable network identities or dedicated storage. It is tempting because it is the default workload controller, and would be correct for a stateless web front end needing rolling updates and scaling.

  • ✓

    StatefulSet

    Why this is correct

    StatefulSet assigns each pod a stable ordinal hostname and a dedicated PersistentVolumeClaim via volumeClaimTemplates, preserving identity and storage across restarts. Deployments give interchangeable pods with shared or ephemeral volumes, so they cannot satisfy the per-instance persistence constraint.

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 →

How Courseiva writes practice questions · Editorial policy

JA

Written by Johnson Ajibi, MSc IT Security

Senior Network & Security Engineer · founder of Courseiva

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.