CKAD Application Observability and Maintenance Practice Question
A pod is stuck in 'Pending' state. You run 'kubectl describe pod my-pod' and see the event: '0/3 nodes are available: 3 Insufficient cpu.' Which action should you take?
⚠ Common exam trap
Many candidates confuse CPU requests with CPU limits, assuming that increasing limits gives the pod more resources, when in fact the scheduler only checks requests for admission, and limits are a runtime constraint.
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
✓
Reduce the CPU request of the pod and reapply the manifest.
The pod is stuck in 'Pending' because the scheduler cannot find a node with enough allocatable CPU to satisfy the pod's CPU request. Reducing the CPU request (the amount guaranteed to the container) makes the pod schedulable on existing nodes. Increasing limits would only worsen the problem, as limits are a cap on usage, not a scheduling constraint.
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 CPU limits on the pod to give it more resources.
Why it's wrong here
Increasing CPU limits does not affect the scheduler's pending decision because limits are only applied as cgroup quotas after the pod is placed on a node. An unschedulable pod is pending because its requested CPU exceeds the allocatable CPU on every node, and limits are never inspected during scheduling. Raising limits without lowering requests merely increases the maximum CPU the container can burst to, which can lead to throttling or policy violations while leaving the pod permanently unschedulable.
- ✓
Reduce the CPU request of the pod and reapply the manifest.
Why this is correct
The scheduler places pods on nodes using the CPU request as the reservation; a pending pod with 'Insufficient cpu' events has a request larger than any node's free capacity. Reducing the CPU request in the pod spec to fit within an existing node's available allocatable CPU allows the scheduler to find a suitable node, and reapply the manifest (via kubectl replace -f or delete/recreate) so the pod is re-created with the lowered request. This directly addresses the root cause and is faster than infrastructure changes.
- ✗
Add another node to the cluster to increase overall CPU capacity.
Why it's wrong here
Manually adding a node is an infrastructure-level operation that may be impossible, costly, or outside your permissions, and it does not repair the actual mismatch between the pod's requested CPU and the cluster's existing allocatable capacity. If the same request is applied, the pod could land on the new node only if that node has sufficient free CPU, but the original unschedulability will persist on all existing nodes. In many real clusters with Cluster Autoscaler, adding nodes is triggered automatically only when pending pods exist, so manually doing so is redundant and slower than reducing the request.
- ✗
Add a nodeSelector to the pod to target a specific node.
Why it's wrong here
A nodeSelector only restricts scheduling to nodes carrying specific labels; it tells the scheduler to ignore all other nodes, but it does nothing to change CPU requests or the amount of allocatable CPU on any node. If every node in the cluster is already underallocated for the pod's request, the selector simply limits the candidate set to a subset that still cannot satisfy the request, leaving the pod pending. It can also introduce an additional failure mode if the named node does not exist or does not have the label.
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.