Courseiva

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.

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 →

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.