Meetup #12: Inspektor Gadget and traceloop: BPF debugging tools for Kubernetes

Krakow Cloud Native Group
Krakow Cloud Native Group
Public group

Community Hub Kraków

Podwale 3/7 · Kraków

How to find us

Please press button "6" near the entrance and head for the third floor.

Location image of event venue


This meetup will be conducted in English. / Meetup odbędzie się w języku angielskim.

I will present Inspektor Gadget and traceloop, a tool for tracing system calls in cgroups or in containers using in-kernel Berkeley Packet Filter (BPF) programs.

Many people use the “strace” tool to synchronously trace system calls using ptrace. Traceloop similarly traces system calls but with very low overhead (no context switches) and asynchronously in the background, using BPF and tracing per cgroup. I’ll show how it is integrated with Kubernetes via Inspektor Gadget.

Traceloop's traces are recorded in a fast, in-memory, overwritable ring buffer like a flight recorder. As opposed to “strace”, the tracing is permanently enabled on Kubernetes pods and can be inspected in case of a crash. It’s like a always-on “strace in the past”.

I will also present Kinvolk’s Kubernetes distribution Lokomotive and the OS it relies on, Flatcar Container Linux - a friendly fork of CoreOS Container Linux - to show the integration that is possible when we control the full stack from the Linux kernel to Kubernetes.

Alban is CTO & co-founder of Kinvolk. He has a particular interest in integrating BPF into Kubernetes. He’s a maintainer of the gobpf library and has worked on software in the cloud space using BPF with Golang: Weave Scope, Traceleft, Project Calico, and recently Inspektor Gadget and Traceloop.