Courseiva

CKAD Application Design and Build Practice Question

You have a CronJob that runs a backup every hour. Due to a network issue, some backups take longer than an hour, causing overlapping executions. You want to ensure that if a new job is scheduled while the previous one is still running, the new job is skipped. Which concurrencyPolicy should you set?

⚠ Common exam trap

The trap here is that candidates might confuse `Forbid` with `Skip` (which is not a valid value) or incorrectly choose `Replace` thinking it will skip the new job, when in fact it kills the running job and starts a new 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

✓

ConcurrencyPolicy: Forbid

Setting `concurrencyPolicy: Forbid` on a CronJob prevents a new job from being created if the previous job from the same CronJob is still running. This directly addresses the requirement to skip overlapping executions when a backup takes longer than the scheduled 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.

  • ✗

    ConcurrencyPolicy: Skip

    Why it's wrong here

    ConcurrencyPolicy: Skip is not a valid value in the Kubernetes CronJob API. The accepted enum values are Allow, Forbid, and Replace, so this setting would be rejected by the API server at submission time. Even semantically, 'skip' might seem like the desired behavior, but you must use Forbid to instruct the controller to skip a new run if a prior Job is still active.

  • ✗

    ConcurrencyPolicy: Allow

    Why it's wrong here

    Allow tells the CronJob controller to create a new Job at every scheduled time regardless of whether the previous Job from the same CronJob is still executing. This means two backup Jobs can run concurrently, causing overlapping writes to backup files or storage targets, resource contention, and potential data corruption. The required behavior is to wait for the current run to finish before starting the next one, so Allow directly violates that requirement.

  • ✓

    ConcurrencyPolicy: Forbid

    Why this is correct

    Forbid is the correct concurrencyPolicy because it makes the CronJob controller check whether there is an active Job belonging to this CronJob before creating a new one. If the previous backup Job is still running, the controller skips the scheduled invocation entirely and does not start a new Job, so there is no overlap. The next backup is created at the subsequent scheduled time, exactly matching the requirement that backups stay non-overlapping.

  • ✗

    ConcurrencyPolicy: Replace

    Why it's wrong here

    Replace aborts the currently running Job and then immediately creates a new Job for the scheduled invocation. In a backup context, this would terminate an in-progress backup before it can complete, potentially leaving incomplete or corrupted backup artifacts. The requirement explicitly calls for waiting until the prior run completes, not canceling it, so Replace is inappropriate despite being a valid concurrencyPolicy value.

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.