How to Debug the Pod Which is Hard to Debug
summary
Practical, actionable techniques for when logs and kubectl exec fail: replace the container command with a sleep to stop crashloops, pause or disable failing liveness checks, inspect /proc and the container pid root on the host, nsenter into container namespaces (network, mount, pid) to run host binaries against the pod, create a debug pod or bind-mount a static busybox into the container root to supply missing tools, and copy or inject statically linked binaries for scratch or read‑only images to inspect sockets, mounts, and runtime state.
AI-written summary · about
chapters (12)
- 0:00Debugging Kubernetes pods
- 1:28Kubernetes pod issues causes
- 3:01Pod status troubleshooting
- 6:19Why debugging is hard
- 8:57Direct container debugging
- 11:32Restarting pods handling
- 14:25Debugging minimal images
- 15:49Host info for debugging
- 17:18Network namespaces debugging
- 19:04Scratch images debugging
- 22:16Summary
- 22:53Q&A
related talks
35mThe Art of Debugging Inside K8s Environment
34mDebugging at Scale in Production - Deep into Your Containers with Kubectl Debug
24mDebugging at Scale in Production - Deep into your Containers
45mTroubleshooting containerized applications
40mDebugging in Golang Apps Inside K8s Environment
50mTroubleshooting & Debugging Microservices in Kubernetes
36mEphemeral Containers in Action - Running a Go Debugger in Kubernetes - Marvin Beckers
39mDebugging python applications inside k8s environment
