skip to content

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.

#kubernetes

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.

#linux

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.

#kubernetes

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.

#kubernetes

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.

#linux

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.

#kubernetes

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.

#kubernetes