CKAD Application Design and Build Practice Question
You have a CronJob that runs every 5 minutes. The job sometimes takes longer than 5 minutes to complete. You want to ensure that while a job is running, the next scheduled job is skipped (not started). Which concurrencyPolicy should you use?
⚠ Common exam trap
Many candidates confuse the 'Skip' option (which is not a valid Kubernetes value) with the correct 'Forbid' policy, or they mistakenly think 'Replace' will skip the next job instead of killing the current one.
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
✓
Forbid
The `Forbid` concurrencyPolicy ensures that if a previous job instance is still running when the next scheduled time arrives, the new job is simply skipped (not created). This prevents overlapping executions, which is exactly what you need when a CronJob's duration can exceed its schedule interval.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Forbid
Why this is correct
Forbid is the correct concurrencyPolicy for a CronJob that must not overlap runs. When set, the controller skips the next scheduled invocation if a previous Job created by this CronJob is still active (i.e., has not completed successfully or failed). This guarantees serial execution, which is critical for jobs that mutate shared state or cannot safely run in parallel.
- ✗
Skip
Why it's wrong here
Skip is not a valid concurrencyPolicy value in the Kubernetes CronJob specification. The only accepted values for the spec.concurrencyPolicy field are "Allow", "Forbid", and "Replace". If you attempt to use "Skip", the CronJob will be rejected by the API server with a validation error, so this option is incorrect.
- ✗
Allow
Why it's wrong here
Allow is the default concurrencyPolicy, but it would not solve the problem of overlapping runs. With Allow, the CronJob controller launches a new Job on every scheduled time, even if a previously started Job from the same CronJob is still running. This can lead to concurrent executions, which may cause race conditions, resource exhaustion, or inconsistent results for workloads that require strict ordering.
- ✗
Replace
Why it's wrong here
Replace would cancel the currently running Job and start a new one at the next scheduled time. While this prevents overlapping active Jobs, it forcibly terminates the existing Job by deleting its Pods, which can leave incomplete work, orphaned side effects, or corrupted state if the job is not designed to handle abrupt termination. Therefore it is not the safest choice for a job that must run every 5 minutes without overlap.
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.