Courseiva
Application Design and BuildmediumMultiple ChoiceObjective-mapped

CKAD Application Design and Build Practice Question

A pod in the 'production' namespace is in a CrashLoopBackOff state. The pod has been running successfully for several days. You run 'kubectl describe pod app-pod -n production' and see the message: 'OOMKilled'. What is the MOST appropriate action to resolve this issue?

⚠ Common exam trap

It's easy for candidates to confuse OOMKilled with a general crash and choose to delete and recreate the pod (Option A), not realizing that the resource limit itself must be adjusted to prevent recurrence.

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

Increase the memory limit in the pod's container resource specification

The pod is in CrashLoopBackOff due to OOMKilled, which means the container's memory usage exceeded its configured memory limit. The most appropriate action is to increase the memory limit in the pod's container resource specification, allowing the container to allocate more memory without being terminated by the Out-of-Memory (OOM) killer.

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • Delete and recreate the pod to clear the crash loop

    Why it's wrong here

    Simply deleting and recreating the pod will not resolve the crash loop because the pod is managed by a higher-level controller that will recreate it with the exact same resource specification. Since the container was killed due to OOMKilled—meaning it exceeded its configured memory limit—a fresh pod without any changes to that limit will hit the same memory ceiling and be killed again. Manual deletion is both unnecessary and ineffective; the fix must address the resource limit itself.

  • Delete the namespace and redeploy all workloads

    Why it's wrong here

    Deleting the entire namespace is an excessively destructive action that removes all workloads, ConfigMaps, Secrets, and persistent volume claims within it, causing a complete outage for every application running there. This approach is wildly out of proportion to a single pod's memory limit issue, and after redeployment you would still be working from the same manifests that caused the OOMKilled event. The correct action is a targeted change to the offending pod's resource limits, not a namespace-wide disruption.

  • Increase the memory limit in the pod's container resource specification

    Why this is correct

    OOMKilled is the kubelet's signal that the container's memory usage exceeded its specified limit, prompting the kernel OOM killer to terminate the process. Raising the memory limit in the container's resource specification permits the container to consume more memory before that threshold is reached, directly addressing the root cause and allowing the pod to remain running. This is the expected fix when the application's nominal memory footprint is larger than the old limit but still fits within node capacity.

  • Increase the CPU request for the container

    Why it's wrong here

    Boosting the CPU request or limit does not affect the memory cgroup that enforces the container's memory ceiling; OOMKilled is solely a memory pressure event. While CPU requests influence scheduling and CPU bandwidth, they have no bearing on the kernel's OOM killer, which triggers only when memory usage exceeds the limit. Changing CPU resources will leave the memory limit unchanged and the container will continue to be OOM-killed at precisely the same memory usage threshold.

Visual reference

Client Recursive Resolver Root DNS (13 root servers) TLD DNS (.com, .org, …) Authoritative example.com query IP addr answer

About these practice questions

This CKAD question is part of Courseiva's 160-question bank — original exam-style content with full explanations and wrong-answer analysis, never real exam questions or exam 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.