KCNA Kubernetes Fundamentals Practice Question
You need to run a batch job that processes data and then exits. Which Kubernetes resource type is most appropriate for this workload?
⚠ Common exam trap
A common misconception is that any workload requiring Pods must use a Deployment, but the key differentiator is whether the workload is long-running or batch/terminating, which is exactly what the Job resource is designed for.
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 workloads that run to completion and then exit, such as batch processing, data transformation, or one-off tasks. Unlike controllers that maintain a desired number of running Pods (like Deployments), Jobs ensure that a specified number of Pods successfully terminate, making them the correct choice for this scenario.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Deployment
Why it's wrong here
A Deployment maintains a declared number of replicas continuously, so its pods restart after exiting instead of finishing, and it offers no completion tracking. It is tempting because Deployments are the default workload for stateless containers, but a Job is the resource whose controller runs pods to successful termination for batch processing.
- ✗
DaemonSet
Why it's wrong here
A DaemonSet schedules one pod on every (or selected) node to provide a continuous node-level service such as logging or networking, and those pods are not meant to exit. It is tempting when the batch work must touch every node, but a Job runs pods to completion on the cluster without node-wide placement.
- ✓
Job
Why this is correct
A Job creates Pods that run to completion and tracks successful termination, which suits batch processing that exits after finishing. Deployments and ReplicaSets instead maintain continuously running replicas, so they restart or replace Pods rather than allowing them to exit cleanly.
- ✗
StatefulSet
Why it's wrong here
A StatefulSet gives each pod a stable identity, ordinal name and its own PersistentVolumeClaim, and it restarts pods indefinitely rather than running them to completion. It is tempting when the batch job needs durable per-pod storage, but a Job (or CronJob) is the resource that runs pods until they terminate successfully.
Go deeper
Related to this question
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 →
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.