KCNA Kubernetes Fundamentals Practice Question
You want to run a batch job that processes data and then terminates. Which Kubernetes resource is best suited for this workload?
⚠ Common exam trap
CNCF often tests the distinction between controllers that maintain 'desired state' (Deployments, StatefulSets) versus controllers that manage 'completion' (Jobs), and the trap here is that candidates mistakenly choose Deployment for any workload that 'processes data' without recognizing the terminating nature of the task.
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
✓
Job
A Kubernetes Job is designed for batch processing workloads that run to completion and then terminate. Unlike controllers that maintain a desired number of running Pods (like Deployments or StatefulSets), a Job creates one or more Pods and ensures they successfully exit. Once the specified number of successful completions is reached, the Job stops, making it the ideal choice for a one-time data processing task.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
StatefulSet
Why it's wrong here
StatefulSet assigns stable network identities and persistent storage per pod, which suits databases and clustered stateful applications, not finite batch work. It provides no completion semantics, so pods restart indefinitely rather than terminating after processing. A Job is designed for run-to-completion workloads; StatefulSet would be correct for a stateful database needing ordered, persistent replicas.
- ✗
DaemonSet
Why it's wrong here
DaemonSet schedules one pod per node to provide node-level services such as logging or monitoring agents, and it never marks work complete. It cannot model a finite batch that processes data and terminates. A Job is the correct controller for run-to-completion tasks; DaemonSet fits cluster-wide per-node daemons.
- ✓
Job
Why this is correct
A Kubernetes Job creates one or more pods that run to completion, then stops — exactly matching a batch workload that processes data and terminates. Unlike a Deployment, which maintains a desired replica count indefinitely, a Job tracks successful completions, satisfying the stem's requirement for finite, run-to-finish execution.
- ✗
Deployment
Why it's wrong here
A Deployment maintains a desired replica count and restarts terminated pods, so a batch job that must finish and exit would be perpetually recreated. Deployments are tempting because they run containers reliably, which suits long-running stateless services, not finite run-to-completion workloads.
Go deeper
Related to this question
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 →
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.