Courseiva

CKA Practice Question: Cluster Architecture, Installation & Configuration

Network Topology
$ kubeadm initpod-network-cidr=10.244.0.0/16apiserver-advertise-address=192.168.1.10[ERROR FileAvailableetc-kubernetes-manifests-kube-apiserver.yaml]: /etc/kubernetes/manifests/kube-apiserver.yaml already existsRefer to the exhibit.[init] Using Kubernetes version: v1.23.0[preflight] Running pre-flight checks[preflight] Some fatal errors occurred:

An administrator runs 'kubeadm init' on a machine that previously had a Kubernetes cluster. The command fails with the above errors. What is the best course of action?

⚠ Common exam trap

Watch out — candidates often think a simple file deletion or port change is sufficient, but the CKA exam expects you to know that `kubeadm reset` is the only safe, comprehensive cleanup method for re-initializing a cluster on the same 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

✓

Run 'kubeadm reset' to clean up the previous installation and then re-run kubeadm init.

When `kubeadm init` fails on a machine that previously hosted a Kubernetes cluster, it is typically because residual configuration files, certificates, and control plane static pod manifests from the prior installation conflict with the new initialization. Running `kubeadm reset` is the official cleanup command that removes these artifacts (e.g., `/etc/kubernetes/`, CNI configurations, and iptables rules), restoring the node to a pre-init state so that `kubeadm init` can succeed cleanly.

Answer analysis

Option-by-option breakdown

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

  • ✓

    Run 'kubeadm reset' to clean up the previous installation and then re-run kubeadm init.

    Why this is correct

    Running 'kubeadm reset' is the best practice and official method to revert any changes made to the host by a previous 'kubeadm init' or 'kubeadm join' execution. It automatically stops and removes running containers, cleans up local directories like '/var/lib/etcd' and '/etc/kubernetes', and resets iptables rules. This ensures a clean slate, allowing a subsequent 'kubeadm init' command to succeed without encountering conflicting state or port conflicts.

  • ✗

    Manually delete the /etc/kubernetes/manifests/kube-apiserver.yaml file and kill the process using port 6443.

    Why it's wrong here

    While manually deleting the static pod manifest and killing the process might free up port 6443, this approach is highly discouraged because it leaves behind other critical cluster state. Leftover assets such as etcd data in '/var/lib/etcd', TLS certificates in '/etc/kubernetes/pki', and kubelet configurations will still cause the subsequent 'kubeadm init' run to fail. Only a comprehensive reset ensures all these components are properly purged.

  • ✗

    Use a different port for the API server by specifying --apiserver-bind-port.

    Why it's wrong here

    Specifying a non-standard port using '--apiserver-bind-port' merely bypasses the immediate port conflict error without addressing the underlying dirty state of the node. The initialization will still fail or become corrupted due to existing certificates, pre-existing etcd databases, and conflicting configuration files in '/etc/kubernetes'. Furthermore, changing the default API server port complicates future cluster administration and client configurations.

  • ✗

    Run kubeadm init with --force flag to override the errors.

    Why it's wrong here

    The 'kubeadm init' command does not feature a '--force' flag to bypass preflight check failures or override existing configuration conflicts. Instead, kubeadm relies on strict preflight checks to prevent administrators from deploying a broken or unstable control plane. To bypass specific non-critical preflight errors, one must use the '--ignore-preflight-errors' flag, but this still will not resolve fundamental state conflicts like an existing etcd database.

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.