CKA Practice Question: Cluster Architecture, Installation & Configuration
An administrator is preparing a bare-metal node to join an existing kubeadm cluster. The node has containerd installed and running, swap disabled, and the required kernel modules loaded. Before running kubeadm join, which command should the administrator run to ensure the kubelet registers with the API server using the correct node name?
⚠ Common exam trap
The trap here is believing kubeadm join accepts a --node-name flag to rename the node, when the name is actually determined by the hostname or a kubelet override configured before the join.
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
✓
hostnamectl set-hostname <name> (or verify /etc/hostname) and confirm the kubelet --hostname-override setting matches.
The kubelet's node name comes from the system hostname or an explicit --hostname-override, so the administrator must confirm or set the hostname before joining. Pulling images, running init, or invoking join without checking the name risks registering the node under an unintended identity that later requires a reset.
Answer analysis
Option-by-option breakdown
For each option: why learners choose it and why it is or isn't the right answer here.
- ✗
kubeadm config images pull
Why it's wrong here
This command pre-pulls control plane images to the local container runtime. It is useful on control plane nodes to speed up kubeadm init, but it has no effect on the node name the kubelet reports, and it does not prepare a worker for joining an existing cluster.
- ✗
kubeadm join --discovery-token ... --discovery-token-ca-cert-hash ...
Why it's wrong here
The join command bootstraps the node and installs the kubelet configuration, but it does not let the administrator verify or override the node name beforehand. If the hostname is wrong, the node registers under the wrong name and must be reset with kubeadm reset before retrying.
- ✓
hostnamectl set-hostname <name> (or verify /etc/hostname) and confirm the kubelet --hostname-override setting matches.
Why this is correct
The kubelet derives its node name from the system hostname unless --hostname-override is set. Ensuring the hostname is the intended unique name, or that the override in /var/lib/kubelet/kubeadm-flags.env matches, guarantees the node registers correctly and avoids duplicate or misleading node entries in the cluster.
- ✗
kubeadm init --config kubeadm-config.yaml
Why it's wrong here
kubeadm init initializes a new control plane and is never run on a worker joining an existing cluster. Running it here would attempt to create a second control plane, which fails or corrupts the cluster topology and does nothing to prepare the worker's kubelet identity.
Go deeper
Related to this question
Learn chapter
Troubleshooting Cluster and Node Issues
Key term
kubeadm Cluster Setup
kubeadm is a command-line tool that helps you create and manage a Kubernetes cluster by automating the setup of control plane and worker nodes.
Key term
Container Runtime
A container runtime is software that runs containers by using the host operating system's kernel to isolate processes, manage filesystem layers, and handle networking.
About these practice questions
One of 726 original CKA practice questions on Courseiva, each with a full explanation and wrong-answer analysis — not exam dumps or protected exam content. Learn why practice questions differ from exam dumps →
JA
Written and reviewed by Johnson Ajibi, MSc IT Security
Senior Network & Security Engineer · founder of Courseiva
Last reviewed September 2026 · checked against the official CNCF exam blueprint
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.