Debugging Live Applications the Kubernetes Way: From a Sidecar
Talkat KubeCon + CloudNativeCon North America 2019 · on Wednesday, 2019-11-20· at 16:25· Ballroom Sec 20AB - San Diego Convention Center, Upper Level·
summary
Builds a sidecar "toolset" container that runs perf + Flame Graphs, LTTng user-space tracepoints, and BCC/uProbe dynamic tracing against a .NET Core sample but works framework-agnostic. Requires shareProcessNamespace=true, mount a shared /tmp and /var/run/lttng, and typically run securityContext.privileged=true; perf samples at ~1000Hz (demo uses a 5s capture) and writes a perf map so flamegraph SVGs have symbols. BCC needs on-disk machine code, kernel headers or host mounts (/usr/src, /lib/modules), and cannot be injected into immutable pods without node-level or ephemeral-container cheats.
AI-written summary · about
chapters (12)
- 0:00Introduction
- 0:56Presentation Overview
- 2:35References
- 3:43Why do it this way
- 7:21Challenges
- 11:09Features
- 12:45CPU Profiling
- 14:23Exercise Script
- 18:24Static Trace Points
- 19:04High Volume Logging
- 22:06Dynamic Tracing
- 28:07Questions
related talks
01h 00mDebug like a pro on Kubernetes
40mDebugging in Golang Apps Inside K8s Environment
15mProfiling a Pod in Kubernetes with kube-flame
34mDebugging at Scale in Production - Deep into Your Containers with Kubectl Debug
35mThe Art of Debugging Inside K8s Environment
32mKubernetes: Pimp My Laptop
30mMix Kubernetes with Linux Kernel Tracing to Boost the Observability of Your Cluster
24mDebugging at Scale in Production - Deep into your Containers
