CKAD Application Design and Build Practice Question
A pod has an init container that fails. The status shows 'Init:CrashLoopBackOff'. The pod's restartPolicy is 'Always'. What happens to the init container?
⚠ Common exam trap
The trap here is that candidates mistakenly apply the pod's restartPolicy to init containers, not realizing that init containers always restart on failure regardless of the pod's restartPolicy setting.
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
✓
The init container will restart until it succeeds
Init containers always run to completion before any main containers start, and they are restarted until they succeed regardless of the pod's restartPolicy. The restartPolicy only applies to main containers, not init containers. When an init container fails, Kubernetes restarts it indefinitely until it exits with a zero status, which is why the status shows 'Init:CrashLoopBackOff'.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
The pod will be deleted and recreated
Why it's wrong here
Init container failures do not trigger pod deletion or recreation. The pod object remains in the cluster; Kubernetes simply retries the init container within the same pod, so the pod's identity (name, UID, and node assignment) persists throughout. Pod deletion is driven by higher-level controllers (e.g., Deployment rollout changes or eviction), not by init container restart behavior.
- ✗
The main containers will start anyway
Why it's wrong here
Main containers are strictly gated behind successful init container completion. The kubelet serializes startup: all init containers must finish with exit code 0 before any regular container in the pod is even created or started. Thus a failing init container blocks the main application containers indefinitely (subject to restart backoff) rather than allowing them to run.
- ✓
The init container will restart until it succeeds
Why this is correct
According to Kubernetes semantics, init containers are always restarted on failure, regardless of the pod's restartPolicy — the restartPolicy only applies to the main (ephemeral) containers. The kubelet reruns the failed init container, applying an exponential backoff delay, until it exits successfully; only then does the pod proceed to start its regular containers.
- ✗
The init container will not restart because the pod's restartPolicy is Always
Why it's wrong here
The pod's restartPolicy (Always, OnFailure, or Never) does not govern init container restarts. Kubernetes documentation is explicit: init containers ignore the restartPolicy and always restart on failure (with a backoff capped at 5 minutes). So even with restartPolicy: Always, a failing init container is retried rather than being left in a permanent failed state.
Go deeper
Related to this question
About these practice questions
Courseiva writes every CKAD question from scratch — 826 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.