Courseiva
Application Observability and MaintenancemediumMultiple ChoiceObjective-mapped

CKAD Application Observability and Maintenance 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/recreate the pod, not realizing the underlying memory limit is the cause and must be adjusted.

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 'OOMKilled' status indicates the pod's container was terminated because it exceeded its memory limit. Since the pod ran successfully for days, a gradual memory leak or increased workload likely caused the usage to spike past the configured limit. Increasing the memory limit in the container's resource specification allows the pod to handle the higher memory demand without being killed, resolving the 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.

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

    Why this is correct

    OOMKilled is the definitive signal that the container process exceeded its cgroup memory limit and was terminated by the kernel's OOM killer. Raising the memory limit in the pod's container resource specification directly expands the available memory budget, giving the process room to complete its allocation without triggering the kill. This is the correct fix because the restart policy only re-creates the container; without a higher limit the next run will hit the identical memory ceiling and crash again.

  • Delete and recreate the pod to clear the crash loop

    Why it's wrong here

    Deleting and recreating the pod is futile because the pod's resource limits are defined in its manifest, not in the running instance. The replacement pod will inherit the same memory limit, so the container will again consume beyond that bound and receive the same OOMKilled termination. The crash loop persists because the underlying cause — an insufficient memory limit relative to the workload's actual footprint — remains completely unchanged.

  • Delete the namespace and redeploy all workloads

    Why it's wrong here

    Deleting the namespace is a sledgehammer approach that removes every Secret, ConfigMap, Service, Deployment, and unrelated workload in that namespace, causing broad, avoidable downtime. It does nothing to alter the memory limit in the pod's spec, so even if the pod is recreated elsewhere, the OOMKilled condition will simply return. Namespace deletion is reserved for cleaning up an entire logical environment, not for fixing a single misconfigured container's resource constraint.

  • Increase the CPU request for the container

    Why it's wrong here

    Increasing the CPU request is irrelevant because OOMKilled is a memory-specific failure: the kernel's OOM killer triggers when anonymous memory usage exceeds the cgroup's memory.max limit, independent of CPU allocation. CPU requests only influence scheduler placement and CPU-bandwidth guarantees; they do not enlarge the memory cgroup or reduce the container's memory footprint. A CPU-heavy but memory-light change cannot stave off a memory-limit violation, so the container will continue to be terminated and restarted.

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

Courseiva writes every CKAD question from scratch — 160 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.