CKA Practice Question: Cluster Architecture, Installation and Configuration
You are upgrading a cluster from v1.28 to v1.29. You have already drained and upgraded all worker nodes. The control plane nodes have not been upgraded yet. 'kubectl get nodes' shows the control plane nodes are still v1.28. What is the correct next step?
⚠ Common exam trap
Many exam-takers think uncordoning worker nodes is safe after draining, but the CKA exam tests the understanding that the control plane must be upgraded before worker nodes are made schedulable again to avoid version skew issues.
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
✓
Upgrade the control plane nodes to v1.29
The correct next step is to upgrade the control plane nodes to v1.29. In a Kubernetes cluster upgrade, the control plane must be upgraded before or in conjunction with the worker nodes, but since the worker nodes have already been upgraded and drained, the control plane nodes are still running v1.28. Upgrading the control plane nodes ensures that the API server, scheduler, and controller manager are at the target version, which is required for cluster stability and to support the upgraded kubelets on the worker nodes.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
Drain the worker nodes and downgrade them to v1.28
Why it's wrong here
Downgrading Kubernetes components, including worker nodes, is generally unsupported and highly discouraged due to the potential for data corruption, inconsistent states, or complete cluster failure. Rolling back etcd schema changes and API incompatibilities between versions makes downgrades extremely risky. Furthermore, the standard upgrade path dictates that the control plane must be upgraded before or concurrently with worker nodes to maintain API compatibility, making a worker node downgrade an incorrect and destabilizing action in this scenario.
- ✗
Uncordon the worker nodes
Why it's wrong here
Uncordoning worker nodes that are running a higher Kubernetes version (v1.29) than the control plane's API server (v1.28) would allow the scheduler to place new pods onto them. This version skew creates significant compatibility issues, as the newer kubelet might attempt to utilize API features or object schemas not recognized by the older API server. Such a mismatch can lead to pod failures, unexpected operational behavior, or even prevent nodes from properly registering and functioning within the cluster, compromising overall stability.
- ✓
Upgrade the control plane nodes to v1.29
Why this is correct
Kubernetes upgrade best practices mandate that the control plane components, particularly the kube-apiserver, must be at a version equal to or higher than the kubelet running on worker nodes. Since the worker nodes have already been upgraded to v1.29, the immediate and correct next step is to upgrade the control plane nodes to v1.29. This action ensures API compatibility, allowing the kube-apiserver to properly communicate with and manage the newer kubelet versions, thereby preventing critical API mismatches and maintaining cluster health.
- ✗
Restart the kubelet on all nodes
Why it's wrong here
Restarting the kubelet service on all nodes will only reinitialize the kubelet process and re-register the node with the API server; it does not perform any version upgrade of the kubelet itself. More importantly, restarting kubelet has no effect on the version of the control plane components, such as the kube-apiserver, kube-controller-manager, or kube-scheduler. The fundamental problem here is a version mismatch between the control plane and worker nodes, which a simple kubelet restart cannot resolve, requiring a full upgrade process instead.
Go deeper
Related to this question
Learn chapter
Kubernetes Architecture Overview
Key term
Ingress Resources
Ingress Resources are Kubernetes API objects that manage external access to services inside a cluster, typically HTTP and HTTPS traffic, by defining rules for routing requests based on hostnames and paths.
Key term
Network Policies
A Kubernetes resource that controls how pods communicate with each other and with other network endpoints, acting as a firewall for pod-to-pod traffic.
About these practice questions
This CKA question is part of Courseiva's 302-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 →
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.