Inspektor Gadget

    Inspektor Gadget is a collection of tools (or gadgets) to debug and inspect Kubernetes applications. While it was originally designed for Lokomotive , Kinvolk’s open-source Kubernetes distribution, it works just as well on other Kubernetes distributions.

    How does it work?

    Inspektor Gadget is deployed to each node as a privileged DaemonSet. It uses in-kernel BPF helper programs to monitor events mainly related to syscalls from userspace programs in a pod. The BPF programs are run by the kernel and gather the log data. Inspektor Gadget’s userspace utilities fetch the log data from ring buffers and display it. What BPF programs are and how Inspektor Gadget uses them is briefly explained here:

    Further Reading


    How to install Inspektor Gadget

    About Continuous Integration

    Inspektor Gadget continuous integration workflow


    Understand how everything comes together.


    Kernel requirements per gadget.

    CR Usage Reference

    Syntax reference for using the Trace custom resource with each gadget.


    This section provides an overview of the gadgets included in Inspektor Gadget and guidance on how to use each.

    Custom Trace Resource

    Basic usage of the Trace resource


    How to use the local-gadget tool.


    How to contribute to Inspektor Gadget.

    Trace CRD schema reference (group

    Trace is the Schema for the traces API