blog / debugging
Debugging methodology and field guides
How to narrow a failure fast: the USE method, reading logs as evidence, and the habits that separate a ten-minute fix from a two-hour one.
7 posts
CreateContainerConfigError: the ConfigMap/Secret mistakes behind it
CreateContainerConfigError decoded: every ConfigMap and Secret mistake that causes it, the exact describe events, and the fastest fix for each.
High load average: what it actually measures and how to debug it
High load average on Linux doesn't always mean busy CPUs. What load really counts, how to split CPU from I/O wait, and a vmstat/pidstat/iostat path.
OOMKilled and exit code 137: finding the real memory hog
OOMKilled Kubernetes pods and exit code 137: how to read Last State, use kubectl top, dodge JVM container traps, and decide raise-the-limit vs fix-the-leak.
CrashLoopBackOff vs ImagePullBackOff vs Error: a pod status taxonomy
A field map of every Kubernetes pod status - CrashLoopBackOff, ImagePullBackOff, Pending, Error - and the first command to run for each one.
Disk full: find it, fix it, and the du/df mismatch
df says the disk is full but du can't find the files? A field guide to disk full errors on Linux: lsof +L1, deleted-but-open files, inodes, safe cleanup.
Fixing ImagePullBackOff: every cause, fastest check first
Every cause of kubernetes ImagePullBackOff, ordered fastest check first: image typos, missing tags, registry auth, Docker Hub rate limits, and network failures.
Debugging CrashLoopBackOff in Kubernetes: a field guide
What CrashLoopBackOff really means, how to read the exit code, and the 8 causes it comes from - each with the fastest diagnostic path first.