Inspektor Gadget

    Inspektor Gadget is a collection of tools (or gadgets) to debug and inspect Kubernetes resources and applications. It manages the packaging, deployment and execution of eBPF programs in a Kubernetes cluster, including many based on BCC tools, as well as some developed specifically for use in Inspektor Gadget. It automatically maps low-level kernel primitives to high-level Kubernetes resources, making it easier and quicker to find the relevant information.

    How does it work?

    Inspektor Gadget is deployed to each node as a privileged DaemonSet. It uses in-kernel eBPF helper programs to monitor events mainly related to syscalls from userspace programs in a pod. The eBPF 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 eBPF programs are and how Inspektor Gadget uses them is briefly explained here:


    Installation

    How to install Inspektor Gadget

    About Continuous Integration

    Inspektor Gadget continuous integration workflow

    Architecture

    Understand how everything comes together.

    Requirements

    Kernel requirements per gadget.

    CR Usage Reference

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

    Guides

    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

    local-gadget

    Description of the local-gadget tool.

    Contributing

    How to contribute to Inspektor Gadget.

    Trace CRD schema reference (group gadget.kinvolk.io)

    Trace is the Schema for the traces API