CKAD Application Design and Build Practice Question
Which THREE statements are true about init containers? (Select 3)
⚠ Common exam trap
It's easy for candidates to confuse init containers with regular containers, assuming they support probes or cannot have resource limits, when in fact init containers are a distinct type with different lifecycle rules and full support for resource constraints.
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
✓
Init containers must complete successfully before any main container starts
Init containers are specialized containers that run to completion before any main application containers in the pod start. They must exit with a zero status (success) for the pod to proceed to the next init container or to start the main containers. This ensures prerequisite setup tasks are completed before the application runs.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Init containers support liveness and readiness probes
Why it's wrong here
Init containers do not support liveness or readiness probes because they are designed to run to completion, not to serve as long-lived processes. The kubelet only checks their exit status; there is no period of ongoing health monitoring. If an init container hangs, the pod will stall without any probe to detect it, unlike main containers that can be killed and restarted based on probe results.
- ✗
Init containers cannot have resource limits
Why it's wrong here
Init containers can absolutely have resource limits; they are treated like any other container in the pod spec. You can set requests and limits for memory and CPU, and these values are used during the initialization phase. In fact, the pod's effective resource requests and limits during init are computed as the maximum of all init containers' values, which can affect scheduling and eviction decisions.
- ✓
Init containers must complete successfully before any main container starts
Why this is correct
This is the fundamental purpose of an init container: the kubelet will not start any main container until every init container has exited with a zero exit code. The main containers are held in a pending state while init containers execute. If any init container fails, the entire pod's startup is blocked, and the failed init container is retried according to the restart policy, so the main containers never see the failed state.
- ✓
Init containers run sequentially in the order they are defined
Why this is correct
Init containers execute in a strict, sequential order as defined in the pod spec. Each init container must complete successfully before the next one is launched. This is different from regular app containers, which may all start concurrently once the init phase is finished; the sequential guarantee makes init containers ideal for chained setup steps that depend on each other, like waiting for a service then populating a config file.
- ✓
If an init container fails, it will restart until it succeeds, regardless of the pod's restartPolicy
Why this is correct
This is a special exception to Kubernetes' restart policy: failing init containers are always restarted by the kubelet, regardless of whether the pod's restartPolicy is Always, OnFailure, or Never. Even with restartPolicy: Never, the pod will not be marked failed; instead, the individual init container is restarted until it succeeds or the pod is deleted. This ensures that initialization is eventually completed, but it can leave the pod in a CrashLoopBackOff-like state for a long time, which is a common source of confusion when debugging stuck pods.
Go deeper
Related to this question
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 →
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.