Инструменты8 октября 2026 г., 15:47 МСК🤖 Auto

Inspektor Gadget v0.31: eBPF-инструменты для Kubernetes в OCI-образах

Проект Inspektor Gadget представил крупное обновление v0.31.0, позволяющее упаковывать eBPF-программы в OCI-образы. Это упрощает сбор метрик и аудит безопасности в Kubernetes без сложной настройки ядра.

Баннер новости 9206

Что такое Inspektor Gadget и зачем это нужно

Inspektor Gadget — это фреймворм для сбора данных и инспекции систем на кластерах Kubernetes и хостах Linux, использующий технологию eBPF. Главная инновация версии 0.31.0 заключается в том, что eBPF-программы теперь инкапсулируются в OCI-образы (так называемые «Gadgets»). Это позволяет распространять их через стандартные реестры контейнеров, делая процесс развертывания инструментов наблюдения таким же простым, как запуск обычного контейнера.

Ключевые возможности платформы

Инструмент решает проблему разрыва между низкоуровневыми данными ядра и высокоуровневыми концепциями Kubernetes. Ниже приведены основные функции, доступные пользователям:

Функция Описание
OCI-пакетирование Сборка eBPF-программ в образы, совместимые с OCI, для легкого распространения.
Автоматическое обогащение (Enrichment) Автоматическое сопоставление данных ядра (PID, mount namespaces) с ресурсами K8s (поды, контейнеры, DNS).
Поддержка WebAssembly Возможность написания модулей постобработки данных на любом языке, поддерживающем WASM.
Безопасность Механизмы ограничения и блокировки запуска только разрешенных Gadgets.
Режимы работы CLI, клиент-сервер, API, встраивание через Go-библиотеку.

Требования к ядру Linux

Для корректной работы Gadgets, разработанных в рамках проекта Inspektor Gadget, требуется ядро Linux версии 5.10 или новее с включенной поддержкой BTF (BPF Type Format). Это критически важно для обеспечения переносимости eBPF-кода между разными версиями ядра.

Как начать работу

Установка возможна несколькими способами в зависимости от среды:

  • Kubernetes: Рекомендуется использовать плагин krew. Установка выполняется командами kubectl krew install gadget и kubectl gadget deploy. Запуск примера: kubectl gadget run trace_open:latest.
  • Linux (локально): Можно скачать бинарный файл ig и запустить его напрямую. Также поддерживается запуск в привилегированном контейнере Docker.
  • Удаленное управление: С MacOS или Windows можно управлять экземпляром ig на Linux-хосте через утилиту gadgetctl, подключаясь к демону по TCP.

Лицензирование и сообщество

Проект открыт для вклада сообщества. Пользовательские компоненты распространяются под лицензией Apache License, Version 2.0, а шаблоны кода BPF — под GPLv2 с Linux-syscall-note. Активное обсуждение и вопросы можно задавать в канале #inspektor-gadget в Slack-сообществе Kubernetes.

Источник: Github ↗