Courseiva

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 →

How Courseiva writes practice questions · Editorial policy

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.