The Art of Debugging Inside K8s Environment
summary
Shows concrete fixes for CrashLoop pods that lack a shell: use ephemeral containers and kubectl debug to attach a full-tool image, inspect a single binary, and run Delve or pdb against the live process. Demonstrates replacing init commands with sleep to inspect init containers, using a custom debug image (myname/thebug image) with tcpdump and delve, and warns to scale to one replica (he cites 15 replicas causing detachment). Telepresence and K9s workflows are proven workable in demos.
AI-written summary · about
chapters (18)
- 0:00Introduction and speaker background
- 1:51Debugging in cloud-native environments
- 3:38Common debugging techniques
- 6:54Debugging on dev machine
- 7:59Defining Kubernetes debugging problems
- 9:50Debugging init containers
- 11:16Crash looping pod example
- 14:37Custom debug containers
- 16:46Ephemeral containers overview
- 17:30Demo: Debugging a crash looping pod
- 23:00Pre-built debug containers
- 24:25Adding build info to images
- 25:49Debugging distributed systems
- 27:20VS Code debugger setup
- 28:47Telepresence for local debugging
- 29:08K9s plugins for debugging
- 29:53Summary and key takeaways
- 30:57Q&A session
related talks
24mDebugging at Scale in Production - Deep into your Containers
40mDebugging in Golang Apps Inside K8s Environment
26mHow to Debug the Pod Which is Hard to Debug
34mDebugging at Scale in Production - Deep into Your Containers with Kubectl Debug
50mTroubleshooting & Debugging Microservices in Kubernetes
31mDebugging Go: from zero to Kubernetes - Michele Caci
36mEphemeral Containers in Action - Running a Go Debugger in Kubernetes - Marvin Beckers
39mDebugging python applications inside k8s environment
