Courseiva

CKA Practice Question: Cluster Architecture, Installation and Configuration

An administrator runs 'kubectl get nodes' and sees that a worker node is in the 'Ready,SchedulingDisabled' state. Which command was most likely executed on that node?

⚠ Common exam trap

A common mix-up: candidates confuse 'cordon' with 'drain' — candidates often think 'drain' is required to see 'SchedulingDisabled', but 'cordon' alone produces that state without evicting pods.

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

✓

kubectl cordon node01

The 'Ready,SchedulingDisabled' state indicates the node has been marked as unschedulable using the 'kubectl cordon' command. Cordon marks the node as unschedulable, preventing new pods from being scheduled onto it while existing pods continue running. This matches the observed state exactly.

Answer analysis

Option-by-option breakdown

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

  • ✗

    kubectl drain node01

    Why it's wrong here

    kubectl drain node01 initiates a maintenance operation that cordons the node first, marking it as SchedulingDisabled, but then aggressively evicts all pods via a sequence of DELETE requests. This is intended for node maintenance or deletion, not merely to toggle schedulability. It requires the node to come back online with uncordon, and can fail if PodDisruptionBudgets are violated, making it a destructive and risky command for the simple task of disabling scheduling.

  • ✗

    kubectl taint nodes node01 key=value:NoSchedule

    Why it's wrong here

    kubectl taint nodes node01 key=value:NoSchedule adds a taint that prevents pods without a matching toleration from being scheduled onto the node, but the node's unschedulable flag remains untouched. In kubectl get nodes, the STATUS column will still show Ready and there is no SchedulingDisabled annotation, because taints and cordon are independent mechanisms. Existing pods on the node continue running normally, and any pod that explicitly tolerates the taint can still be scheduled, so this does not achieve a general node-level scheduling prohibition.

  • ✓

    kubectl cordon node01

    Why this is correct

    kubectl cordon node01 sets the node's unschedulable field to true, which causes the node to be marked as SchedulingDisabled in the output of kubectl get nodes. This prevents new pods from being scheduled onto the node while leaving all existing pods running, making it the safe and targeted way to remove a node from usage without disruption. The node remains fully Ready and can be re-enabled later with kubectl uncordon.

  • ✗

    kubectl uncordon node01

    Why it's wrong here

    kubectl uncordon node01 has the exact opposite effect of what is needed here: it clears the node's unschedulable flag, removing the SchedulingDisabled status. If the node is already schedulable, this command is a no-op, so it cannot transition a Ready node to SchedulingDisabled. It is used to allow pods to be scheduled onto a node after maintenance, not to begin such maintenance.

About these practice questions

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