Joe Elliott, a backend engineer at Grafana Labs, presented at KubeCon + CloudNativeCon 2019 in San Diego, demonstrating techniques for debugging live applications in Kubernetes environments. His methods, which are Linux-specific and framework-agnostic, involve using the Kubernetes API and sidecar containers, providing a non-intrusive way to debug at scale without requiring direct node access. Elliott highlighted the ease of using sidecar containers for tool management, which allows for easy cleanup and avoids node impact. He discussed challenges such as tool compatibility with different kernel versions and addressed solutions like baking tools into containers or mounting from the host. Elliott showcased three Linux debugging tools: perf for CPU profiling, LTTng for static tracepoints, and BCC for dynamic tracing, each serving different debugging purposes. He noted the future potential of using Kubernetes ephemeral containers for debugging, a feature expected in Kubernetes 1.16.