Kubernetes provides a high-level abstraction layer that makes it easy to deploy distributed computing resources without knowing what’s happening in the kernel and applications. But when debugging, Kubernetes does not provide any help in inspecting these low-level details.
We showcase the following tools specifically designed for running on Kubernetes:
- Inspektor Gadget, built on BPF Compiler Collection (BCC) and traceloop
- kubectl-trace, built on bpftrace
These allow devops teams to answer debugging questions such as:
- What were the last system calls executed before the crash?
- Was this function called? With which arguments and return value?
- Which TCP packets were retransmitted?
- Which queries run slow?
- Was this file opened?
You'll need access to a Linux machine and a Minikube installation. Please follow the instructions at
https://github.com/kinvolk/cloud-native-bpf-workshop