CKAD Application Design and Build Practice Question
You need to schedule a task that runs every day at 2:00 AM. The task should be allowed to run even if a previous instance is still running. Which concurrencyPolicy should you set in the CronJob spec?
⚠ Common exam trap
Test-takers frequently confuse concurrencyPolicy with restartPolicy or assume 'Ignore' is a valid option, but Kubernetes only supports Allow, Forbid, and Replace, and the default is Allow.
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
✓
Allow
Setting `concurrencyPolicy: Allow` in a CronJob spec permits a new job instance to start even if a previous instance is still running. This is the default behavior when the field is omitted, and it directly satisfies the requirement that the task must run at 2:00 AM regardless of any overlapping executions.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Allow
Why this is correct
The concurrencyPolicy Allow (which is also the default) permits a new Job to be created even if a previous Job from the same CronJob is still running. For a daily 02:00 schedule, this ensures the task starts at the scheduled time regardless of whether the prior run completed. Since the requirement only says the task should run every day and imposes no restriction on overlapping execution, Allow is the correct and standard policy.
- ✗
Replace
Why it's wrong here
The concurrencyPolicy Replace would terminate the still-running Job from the previous execution and then launch a new Job at the 02:00 schedule. This is wrong because it forcefully kills the current run, which can lose progress, corrupt partial results, or interrupt critical work. A daily task should be allowed to finish naturally; killing it just because the next day's interval starts is not desired.
- ✗
Forbid
Why it's wrong here
The concurrencyPolicy Forbid causes the CronJob controller to skip the schedule if any Job created by this CronJob is still running. For a daily task that is expected to run every day, an execution that exceeds 24 hours would cause the next day's run to be silently skipped, violating the every-day guarantee. Since the requirement does not ask to prevent overlapping runs, Forbid is over-restrictive and incorrect here.
- ✗
Ignore
Why it's wrong here
The concurrencyPolicy field in a CronJob spec only accepts Allow, Forbid, or Replace as valid enum values; Ignore does not exist. Attempting to set concurrencyPolicy: Ignore would be rejected during validation by the Kubernetes API server. Therefore, Ignore is not a viable option because it cannot actually be configured on a CronJob.
Go deeper
Related to this question
About these practice questions
Courseiva writes every CKAD question from scratch — 160 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 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.