liveBook · Manning

Debugging

As explained in Acing the Certified Kubernetes Administrator Exam, Second Edition

Troubleshooting is the systematic investigation of symptoms and system behavior to identify and resolve operational problems.

Debugging is the systematic investigation of application and cluster behavior to find root causes, restore healthy operation, and limit downtime. In Kubernetes, it distinguishes application, node, control-plane, operating-system, and network failures. section 1.4.5 section 8.0

Use observable evidence to narrow the failure:

  • Inspect container output with kubectl or files under /var/logs/containers; use logs to understand application behavior and imminent failures. section 8.4
  • Check pod statuses, cluster-wide events, and metrics to correlate symptoms with resource usage and cluster conditions. section 8.4
  • Examine kube-system components for control-plane problems, then investigate nodes, kube-proxy, CNI configuration, ports, labels, Services, and Deployments for infrastructure or connectivity faults. section 8.4
  • Apply a top-down approach when errors compound: peel back dependent layers until the root problem becomes identifiable. section 8.4
Competency
Chapter section
Monitor cluster and application resource usage
8.1
Manage and evaluate container output streams
8.1
Troubleshoot cluster components
8.1, 8.2, 8.3
Troubleshoot clusters and nodes
8.2
Troubleshoot Services and networking
8.3

Map debugging work to operational competencies: resource monitoring, container output, cluster components, nodes, Services, and networking. section 8.0

Practice scenario

Send the SWAPI request starships/9/, compare its fields with a Kubernetes Deployment, list all API resources, and save the output as resources.csv. section 1.4.5

How Acing the Certified Kubernetes Administrator Exam, Second Edition covers it

How deep it goes
Traces logs, statuses, events, metrics, components, and network configuration, then stops short of prescribing every individual repair.
Examples
Uses pod logs, cluster events, metrics, kube-system inspection, SWAPI requests, and saved API-resource output.
What it assumes
Assumes familiarity with running Kubernetes resources and teaches the evidence-based distinction between application, cluster, and network problems.
What you can do after
Diagnose/debug with it by separating application, cluster, node, operating-system, and network failures and selecting evidence for resolution.
How it connects
Connects logs, events, metrics, control plane, nodes, Services, Deployments, kube-proxy, CNI, and networking.

Also explained in

Compare how 16 books explain debugging →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Acing the Certified Kubernetes Administrator Exam, Second Edition. The section links point to the parts of the book it draws on.