CKAD Application Design and Build Practice Question
Which THREE of the following are correct about init containers? (Select THREE.)
⚠ Common exam trap
The CKAD exam often tests the misconception that init containers cannot have resource limits or that they run after main containers, but the key is that they run before and can have resource constraints just like regular containers.
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
✓
They run to completion before the main application containers start
Init containers are designed to run sequentially to completion before any of the pod's regular application containers start. This ensures that prerequisites, such as database schema migrations or configuration file generation, are completed before the main application begins execution.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
They run to completion before the main application containers start
Why this is correct
Init containers run sequentially and are executed by the kubelet before any container in the regular spec.containers list starts. Each init container must exit with status 0; only after all init containers have completed successfully will the main application containers be launched. This ensures required setup, like waiting for a database or applying schema migrations, is finished before app processes begin.
- ✗
They cannot have resource limits set
Why it's wrong here
This statement is false: init containers fully support resource requests and limits, configured in the same resources field used by regular containers. Limiting their CPU or memory is actually recommended to prevent setup tasks from starving main containers. Moreover, Kubernetes aggregates the highest init container resource request or limit into the Pod's effective resource usage for scheduling and QoS class determination.
- ✓
If an init container fails, the pod restarts according to the pod's restartPolicy
Why this is correct
When an init container exits with a non-zero status, the kubelet applies the Pod's restartPolicy to decide what happens. With a policy of Always or OnFailure, that specific init container is restarted; with Never, the Pod is marked Failed. In all cases, main containers will not be started until every init container has completed successfully, so the failure handling directly follows the policy.
- ✗
They run after the main application containers have started
Why it's wrong here
Init containers run before, not after, the main application containers. The kubelet enforces a strict ordering: all init containers must finish successfully, and only then are the regular containers started. Because main containers may rely on files, network connections, or configuration produced by init containers, they are never scheduled to start while init containers are still executing.
- ✓
They are defined in the spec.initContainers field of a Pod
Why this is correct
Init containers are defined in the spec.initContainers field of a Pod, which is separate from the spec.containers field that holds the main application containers. Each entry in this dedicated array is a full Container object, so it can include an image, command, arguments, environment variables, and volume mounts. It is the presence of this field — not any special image or command — that tells the kubelet to treat a container as an init container.
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.