CKA Practice Question: Cluster Architecture, Installation and Configuration
You have a cluster with multiple worker nodes. You need to upgrade the cluster from v1.28.0 to v1.29.0 using kubeadm. What is the correct sequence of steps?
⚠ Common exam trap
Many candidates think upgrading kubelet and kubectl first is safe, but the CKA tests the understanding that kubeadm and control plane components must be upgraded before worker node binaries to maintain version compatibility and cluster stability.
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 kubeadm on the control plane node, upgrade control plane components, then drain and upgrade each worker node by upgrading kubelet and kubectl.
The official kubeadm upgrade workflow requires upgrading kubeadm first on the control plane node, then using `kubeadm upgrade apply` to upgrade control plane components, and finally draining and upgrading each worker node by updating kubelet and kubectl. This sequence ensures the cluster's management plane is updated before worker nodes, maintaining control plane stability and API compatibility during the rolling upgrade.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✓
Upgrade kubeadm on the control plane node, upgrade control plane components, then drain and upgrade each worker node by upgrading kubelet and kubectl.
Why this is correct
This sequence precisely follows the official `kubeadm` upgrade procedure, ensuring cluster stability and minimal downtime. First, `kubeadm` itself is upgraded on the control plane to manage the new version. Then, the control plane components (API server, controller-manager, scheduler) are upgraded to establish the new cluster version. Finally, each worker node is individually drained to gracefully evict pods, upgraded by updating `kubelet` and `kubectl`, and then uncordoned, preventing a full cluster outage.
- ✗
Upgrade kubeadm on the control plane node, then upgrade kubelet and kubectl on worker nodes, then upgrade kubelet and kubectl on control plane node.
Why it's wrong here
Upgrading worker nodes before the control plane components introduces significant version skew, potentially causing `kubelet` on the workers to be incompatible with an older control plane API server. This can lead to worker nodes failing to register or function correctly, disrupting cluster operations. Furthermore, this approach neglects to drain worker nodes, resulting in service disruption as pods are abruptly terminated during `kubelet` restarts without proper eviction.
- ✗
Drain all nodes, upgrade kubelet and kubectl on all nodes, then upgrade kubeadm on the control plane node.
Why it's wrong here
Draining all nodes simultaneously is highly disruptive and will lead to a complete cluster outage, as no pods will be available to serve traffic during the upgrade. Additionally, attempting to upgrade `kubelet` and `kubectl` on all nodes before upgrading `kubeadm` and the control plane components violates the recommended upgrade order. This can result in an unmanageable cluster state due to severe version mismatches between components and the orchestration tool.
- ✗
Upgrade kubelet and kubectl on all nodes first, then upgrade kubeadm on the control plane node.
Why it's wrong here
Upgrading `kubelet` and `kubectl` on all nodes first, before `kubeadm` on the control plane, is fundamentally incorrect and risks severe cluster instability. `kubeadm` is the orchestrator for the upgrade process and must be updated first to correctly manage the new version's component deployments and configurations. Proceeding this way creates immediate version skew between the `kubelet` and the older control plane, potentially rendering the cluster unmanageable and unstable.
Go deeper
Related to this question
Learn chapter
Installing Kubernetes with kubeadm
Key term
kubectl Command Reference
kubectl is the command-line tool used to interact with and manage Kubernetes clusters by sending commands to the Kubernetes API.
Key term
Kubernetes Node Roles
Kubernetes Node Roles are labels assigned to machines in a cluster that define whether a node runs application containers (worker) or manages the cluster (control plane).
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 →
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.