Courseiva
Troubleshooting →hardMultiple Choice

CKA Pod pending due to taint Practice Question

A pod is stuck in Pending state. You describe the pod and see: '0/4 nodes are available: 4 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate.' What is the most likely reason?

⚠ Common exam trap

Many exam-takers confuse 'tolerating a taint' with 'fixing the node condition', and assume that adding a toleration is the correct solution, when the error message explicitly states that all nodes have the taint, meaning the nodes themselves are NotReady.

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

✓

All nodes in the cluster are NotReady

The error message '0/4 nodes are available: 4 node(s) had taint {node.kubernetes.io/not-ready: }, that the pod didn't tolerate' indicates that every node in the cluster is tainted with node.kubernetes.io/not-ready, which is automatically applied by the node controller when a node becomes unreachable or fails its health checks. Since no node is Ready, the pod cannot be scheduled, and the only way to schedule it would be to add a toleration for this taint, but that would not fix the underlying node issue. Therefore, the most likely reason is that all nodes are in the NotReady state.

Answer analysis

Option-by-option breakdown

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

  • ✗

    The pod needs a toleration for node.kubernetes.io/not-ready

    Why it's wrong here

    This is not the root cause because the node.kubernetes.io/not-ready taint is automatically added by the node controller when a node becomes NotReady. Even if the pod tolerated this taint, the kubelet on an unhealthy node cannot fetch/start containers, and the scheduler still considers the node unschedulable due to the NotReady condition. Tolerating the taint does not make the node Ready; it only grants permission to schedule onto an already compromised node.

  • ✓

    All nodes in the cluster are NotReady

    Why this is correct

    This is the correct answer because the scheduler cannot place the pod on any node that has a taint not tolerated by the pod. When every node has the node.kubernetes.io/not-ready taint (a direct result of the node controller marking them NotReady), there is no feasible node in the cluster. The pod stays in Pending until at least one node returns to Ready status, which clears the taint and allows scheduling.

  • ✗

    The pod has a resource request that cannot be met

    Why it's wrong here

    Although unschedulable requests are a frequent cause of Pending, resource insufficiency typically appears as events like 'Insufficient cpu' or 'Insufficient memory' on a Ready node. Here, all nodes are NotReady, so the scheduler filters them out due to taints and node conditions before it even evaluates resource requests. Without at least one Ready node with available capacity, resource requests are never the limiting factor.

  • ✗

    The scheduler is not running

    Why it's wrong here

    If the scheduler were not running, no pod in the cluster would be assigned to a node, and this would affect all workloads, but node health would remain unchanged. In this scenario, the nodes themselves are NotReady, which alone is sufficient to leave the pod pending even when the scheduler is healthy. A missing or crashed scheduler would also produce different diagnostic signs, such as no 'schedule' attempts in scheduler logs and a separate control-plane failure, but it does not explain taint-related pending behavior.

Option-by-option analysis

Why each answer is right or wrong

Understanding why wrong answers are wrong — and when they would be correct — is what separates a 750 score from a 900. The CKA exam frequently reuses these exact scenarios with slightly different constraints.

✓All nodes in the cluster are NotReadyCorrect answer▾

Why this is correct

This is the correct answer because the scheduler cannot place the pod on any node that has a taint not tolerated by the pod. When every node has the node.kubernetes.io/not-ready taint (a direct result of the node controller marking them NotReady), there is no feasible node in the cluster. The pod stays in Pending until at least one node returns to Ready status, which clears the taint and allows scheduling.

✗The pod needs a toleration for node.kubernetes.io/not-readyWrong answer — click to see why▾

Why this is wrong here

Tolerating this taint would schedule pods on unhealthy nodes.

✗The pod has a resource request that cannot be metWrong answer — click to see why▾

Why this is wrong here

Would show insufficient resources, not taint.

✗The scheduler is not runningWrong answer — click to see why▾

Why this is wrong here

Would show 0 nodes available due to other reasons.

Analysis generated from the official CKAblueprint and verified against question context. The “when correct” sections are what AI assistants cite when candidates ask “what’s the difference between these options?”

About these practice questions

This CKA question is part of Courseiva's 726-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 CKA 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 CKA exam.