nerdexam
Linux_Foundation

CKA · Question #18

Given a partially-functioning Kubernetes cluster, identify symptoms of failure on the cluster. Determine the cause, the failing service, and take actions to bring up the failed service and restore…

The cluster is partially functioning due to a missing or misconfigured CNI plugin, which needs to be identified and rectified by applying the Calico manifest to restore pod networking and node readiness.

Submitted by anjalisingh· May 4, 2026Troubleshooting

Question

Given a partially-functioning Kubernetes cluster, identify symptoms of failure on the cluster. Determine the cause, the failing service, and take actions to bring up the failed service and restore the health of the cluster. Ensure that any changes are made permanently. You can ssh to the relevant nodes (bk8s-master-0 or bk8s-node-0) using: [student@node-1] $ ssh <nodename> You can assume elevated privileges on any node in the cluster with the following command: [student@nodename] $ sudo -i You may use any CNI plugin to complete this task, but if you don't have your favourite CNI plugin's manifest URL at hand, Calico is one popular option: https://docs.projectcalico.org/v3.14/manifests/calico.yaml Docker is already installed on both nodes and apt has been configured so that you can install the required tools.

Exhibits

CKA question #18 exhibit 1
CKA question #18 exhibit 2

Explanation

The cluster is partially functioning due to a missing or misconfigured CNI plugin, which needs to be identified and rectified by applying the Calico manifest to restore pod networking and node readiness.

Approach. The core problem description states 'a partially-functioning Kubernetes cluster' and explicitly provides a Calico CNI manifest URL as a hint. Despite the DaemonSet shown in the image being 'READY', this is likely a test or a red herring. A common cause for a 'partially-functioning' cluster is a missing or malfunctioning Container Network Interface (CNI) plugin, which is essential for inter-pod networking and nodes to become 'Ready'.

Correct Interaction (Sequence of Commands):

  1. Diagnose Cluster Health: Begin by identifying the symptoms of failure. Log in to the master node (e.g., ssh bk8s-master-0) if not already there, and use sudo -i for root privileges.

    • Check node status: kubectl get nodes (Expect to see some nodes as NotReady or Ready,SchedulingDisabled).
    • Check critical pod status: kubectl get pods -A (Look for pods in kube-system namespace stuck in Pending, ContainerCreating, or CrashLoopBackOff states, particularly those related to CNI (e.g., calico-node, flannel) or kube-proxy).
    • Investigate failing pods: kubectl describe pod <pod_name> -n kube-system and kubectl logs <pod_name> -n kube-system for any identified problematic pods to understand the specific errors.
  2. Identify the Cause: If nodes are NotReady or CNI-related pods are failing, it indicates a CNI issue.

  3. Remediate the CNI: The question explicitly provides a Calico manifest URL as an option. To install or re-apply the Calico CNI:

    • kubectl apply -f https://docs.projectcalico.org/v3.14/manifests/calico.yaml
  4. Verify Cluster Health: After applying the manifest, wait a short period for the CNI pods to initialize.

    • Monitor CNI pods: kubectl get pods -n kube-system -w (Wait for Calico pods to show Running and Ready status).
    • Verify node readiness: kubectl get nodes (Confirm all nodes transition to Ready status).

This approach directly addresses the most common cause of a 'partially-functioning' Kubernetes cluster when a CNI hint is provided, ensuring all cluster components reliant on networking can function correctly. The kubectl apply command makes the changes persistent within the cluster's desired state configuration.

Common mistakes.

  • common_mistake. A common mistake would be to misinterpret the DaemonSet shown in the image as the problem itself. Since ds-kusc00201 is reported as READY, troubleshooting this specific DaemonSet would be incorrect and waste valuable time. Another mistake would be to focus on other core Kubernetes components (like kube-apiserver, kube-scheduler, or kube-controller-manager) or attempt to restart the kubelet service without first diagnosing the CNI. While these could be potential issues, the CNI is a more fundamental and frequently tested component for 'partially-functioning' clusters, especially given the explicit hint in the question. Ignoring the CNI hint and pursuing unrelated fixes would fail to restore cluster health.

Concept tested. The core concept tested is Kubernetes cluster troubleshooting, specifically diagnosing and resolving common networking issues related to the Container Network Interface (CNI) plugin. It assesses the ability to identify symptoms of CNI failure (e.g., NotReady nodes, Pending pods), apply appropriate Kubernetes manifests (e.g., for Calico) to install or reconfigure a CNI solution, and verify the cluster's operational health post-remediation.

Reference. https://kubernetes.io/docs/concepts/cluster-administration/networking/

Topics

#Troubleshooting#Cluster Health#Service Management#Networking

Community Discussion

No community discussion yet for this question.

Full CKA Practice