CKAD Application Design and Build Practice Question
Which TWO fields are required in a CronJob manifest? (Select 2)
⚠ Common exam trap
Candidates often mistakenly think that `concurrencyPolicy` or `startingDeadlineSeconds` are required because they appear frequently in examples, but the only mandatory fields in a CronJob manifest are `schedule` and `jobTemplate`.
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
✓
schedule
The `schedule` field defines the cron expression that determines when the CronJob runs (e.g., `*/5 * * * *`). This is a mandatory field in a CronJob manifest as per the Kubernetes API specification, without which the controller cannot determine the execution timing.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
startingDeadlineSeconds
Why it's wrong here
startingDeadlineSeconds is not required because it is an optional tuning knob that limits how late a scheduled CronJob may start. If set, the CronJob controller will skip a run when the configured deadline has passed after the scheduled start time; if omitted, the controller can still start Jobs for late schedules. It controls missed-job catching, not the basic viability of the manifest, so omitting it produces a valid CronJob.
- ✗
successfulJobsHistoryLimit
Why it's wrong here
successfulJobsHistoryLimit is a cleanup setting, not a required field. It controls how many successfully completed Job objects are retained in the CronJob's history; by default Kubernetes keeps 3. You can set it to 0 to disable retention or to a higher number for auditing, but removing the field does not prevent the CronJob from being accepted.
- ✓
schedule
Why this is correct
schedule is mandatory because it defines the cron expression that tells the CronJob controller when to create a new Job. Without this value, the controller has no time-based trigger, and the Kubernetes API server will reject the manifest as invalid. The expression uses the standard five-field cron format, for example '*/30 * * * *' for every thirty minutes.
- ✗
concurrencyPolicy
Why it's wrong here
concurrencyPolicy is an optional field that determines what happens when multiple job runs attempt to overlap because the previous job is still running. Allowed values are Allow, Forbid, and Replace, with Allow as the default, so omitting the field still yields a valid CronJob. Because it only governs overlapping execution, it is not part of the minimum required spec.
- ✓
jobTemplate
Why this is correct
jobTemplate is required because the CronJob controller needs a full Job specification to instantiate every scheduled run. This nested template defines the Pod spec, restartPolicy, and other Job settings under `spec.jobTemplate.spec`. Without `jobTemplate`, the manifest lacks the actual workload to run and fails validation.
Go deeper
Related to this question
About these practice questions
This CKAD question is part of Courseiva's 826-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam 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.