Courseiva
TroubleshootinghardMultiple ChoiceObjective-mapped

CKA Troubleshooting Practice Question

A pod remains in Pending state. You run 'kubectl describe pod mypod' and see the following event: '0/3 nodes are available: 2 node(s) had taint {node-role.kubernetes.io/control-plane: }, that the pod didn't tolerate, 1 node(s) didn't match pod anti-affinity rules.' What is the best action to schedule the pod?

⚠ Common exam trap

The trap here is that candidates often focus on the taint issue (options C or D) because it appears first in the event message, but they overlook the anti-affinity conflict on the third node, which is the actual blocking constraint for that node.

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

Modify the pod's anti-affinity rules or remove the conflicting pod on the third node

The pod is unschedulable because one node has a pod anti-affinity rule conflict, and the other two nodes have a control-plane taint. The best action is to modify the pod's anti-affinity rules (e.g., relax the requiredDuringSchedulingIgnoredDuringExecution constraint) or remove the conflicting pod on the third node, as this directly resolves the scheduling conflict without affecting the control-plane taint or replicas.

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 number of replicas

    Why it's wrong here

    Increasing the number of replicas for a Deployment or StatefulSet only instructs the controller to maintain more instances of the pod. It does not alter the underlying scheduling constraints, such as node taints or pod anti-affinity rules, that prevent the *initial* pod from being scheduled. Each new replica would face the exact same scheduling obstacles, resulting in multiple pending pods rather than resolving the fundamental issue. Therefore, this action would not help schedule the original pod.

  • Modify the pod's anti-affinity rules or remove the conflicting pod on the third node

    Why this is correct

    The `podAntiAffinity` rule explicitly prevents a pod from being scheduled on a node that already hosts another pod matching specific labels within a defined topology domain. If the `kubectl describe po` output indicates an anti-affinity conflict on the third node, either relaxing the `podAntiAffinity` rule in the pod's specification or removing the existing, conflicting pod from that node would allow the pending pod to be scheduled. This directly resolves the constraint preventing the pod from finding a suitable node.

  • Remove the node.kubernetes.io/control-plane taint from the control plane nodes

    Why it's wrong here

    Removing the `node.kubernetes.io/control-plane` taint from control plane nodes would indeed make those nodes eligible for general workload scheduling, assuming no other constraints. However, this is generally an unsafe practice in a production cluster, as it can lead to resource contention, performance degradation, and stability issues for critical control plane components. While it might technically allow the pod to schedule if the control plane nodes were the only available ones, it's not a recommended or safe solution for a pending pod issue, especially when anti-affinity is also a factor.

  • Add a toleration for the control-plane taint to the pod spec

    Why it's wrong here

    Adding a toleration would only address the taint issue on the control-plane nodes, but it does not resolve the anti-affinity conflict on the third node. The pod still cannot be scheduled because one node violates anti-affinity rules. Therefore, this is not the best action.

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 CKA question from scratch — 302 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 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.