CKAD Application Design and Build Practice Question
Which of the following is the correct apiVersion for a Kubernetes Job in v1.29?
⚠ Common exam trap
Watch out — candidates often confuse the `batch/v1` apiVersion with the older `batch/v1beta1` (which is no longer valid) or incorrectly assume Jobs are part of the core `v1` or `apps/v1` API groups, leading to a wrong answer.
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
✓
batch/v1
In Kubernetes v1.29, the correct apiVersion for a Job is `batch/v1`. The `batch/v1` API version has been stable since Kubernetes 1.21, and Jobs are part of the batch API group. Using `batch/v1` ensures compatibility with the current stable release and provides access to all Job features, including parallelism, completions, and backoff limits.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
batch/v1
Why this is correct
The batch API group manages job-like workloads, and batch/v1 is its stable version, available since Kubernetes 1.21. This version supersedes batch/v1beta1 and is the correct choice for Jobs, supporting features such as ttlSecondsAfterFinished, parallelism, and completions. Always specify batch/v1 for Jobs to ensure compatibility with current and future cluster versions.
- ✗
apps/v1
Why it's wrong here
apps/v1 is the stable API group for managing applications, including Deployments, ReplicaSets, DaemonSets, StatefulSets, and ReplicationControllers. It does not contain a Job kind; Jobs are defined in the batch API group. Using apps/v1 for a Job manifest would result in a 'no matches for kind Job in version apps/v1' error from the API server.
- ✗
v1
Why it's wrong here
v1 is the core legacy API group, containing resources like Pods, Services, ConfigMaps, Secrets, and Namespaces. It is not where Jobs reside; Jobs are part of the batch group, not the core group. Attempting to use v1 for Jobs would cause kubectl to complain that the server doesn't have a Job in the v1 API.
- ✗
batch/v1beta1
Why it's wrong here
batch/v1beta1 was the beta version of the batch API, but it has been deprecated since Kubernetes 1.21 and removed in v1.25. While it might work on older clusters, using it on newer clusters will result in an API error or deprecation warning. For any new Job manifest, you should use the stable batch/v1 to avoid relying on removed or deprecated APIs.
Go deeper
Related to this question
About these practice questions
One of 826 original CKAD 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 CKAD 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 CKAD exam.