BumbleBee - инструментарий для упрощения создания и распространения eBPF-программ
Автор
Сообщение
news_bot ®
Стаж: 6 лет 2 месяца
Сообщений: 27286
Компания Solo.io, развивающая продукты для обеспечения работы облачных систем, микросервисов, изолированных контейнеров и бессерверных вычислений, опубликовала открытый инструментарий BumbleBee, нацеленный на упрощение подготовки, распространения и запуска eBPF-программ, выполняемых в специальной виртуальной машине внутри ядра Linux и позволяющих обрабатывать сетевые операции, контролировать доступ и отслеживать работу систем. Код написан на языке Go и распространяется под лицензией Apache 2.0.
BumbleBee даёт возможность упаковать eBPF-программу в виде образа контейнера в формате OCI (Open Container Initiative), который можно запускать на любых системах без перекомпиляции и использования дополнительных компонентов в пространстве пользователя. Взаимодействие с eBPF-кодом в ядре, в том числе обработку поступающих из eBPF-обработчика данных, берёт на себя BumbleBee, который автоматически экспортирует эти данные в виде метрик, гистограмм или логов, доступ к которым можно получить, например, при помощи утилиты curl. Предлагаемый подход позволяет разработчику сосредоточить внимание на написании кода eBPF и не отвлекаться на организацию взаимодействия с этим кодом из пространства пользователя, сборку и загрузку в ядро.
Для управления eBPF-программами предлагается работающая в стиле Docker утилита "bee", при помощи которой можно сразу загрузить интересующий eBPF-обработчик из внешнего репозитория и запустить на локальной системе. Инструментарий позволяет сгенерировать каркас кода на языке Си для eBPF-обработчиков выбранной тематики (в настоящее время поддерживаются только обработчики сетевых и файловых операций, перехватывающих вызовы сетевого стека и файловых систем). На основе сформированного каркаса разработчик может быстро реализовать интересующую его функциональность.
В отличие от BCC (BPF Compiler Collection) в BumbleBee не выполняется полная пересборка кода обработчика для каждой версии ядра Linux (BCC использует компиляцию на лету при помощи Clang при каждом запуске eBPF-программы). Для решения проблем с переносимостью развиваются инструментарии CO-RE и libbpf, позволяющие собирать код только один раз и использовать специальный универсальный загрузчик, адаптирующий загружаемую программу к текущему ядру и типам BTF (BPF Type Format). BumbleBee является надстройкой над libbpf и предоставляет дополнительные типы для автоматической интерпретации и отображения данных, размещаемых в штатных для eBPF map-структурах RingBuffer и HashMap.
Для сборки итоговой eBPF-программы и сохранения в виде OCI-образа достаточно выполнить команду "bee build файл_с_кодом имя:версия", а для запуска команду "bee run имя:версия". По умолчанию получаемые от обработчика события будут выводиться в окно терминала, но при необходимости можно получить данные обратившись утилитами curl или wget к привязанному к обработчику сетевому порту.
Обработчики можно распространять через OCI-совместимые репозитории, например, для запуска внешнего обработчика из репозитория ghcr.io (GitHub Container Registry) можно выполнить команду "bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)". Для помещения обработчика в репозиторий предлагается команда "bee push", а для привязки версии - "bee tag".
===========
Источник:
OpenNet.RU
===========
Похожие новости
- Главная ссылка к новости (https://www.solo.io/blog/solo-...)
- OpenNews: Создана организация eBPF Foundation
- OpenNews: Представлена библиотека Aya для создания eBPF-обработчиков на языке Rust
- OpenNews: Microsoft подготовил реализацию eBPF для Windows
- OpenNews: В состав GCC принят бэкенд для компиляции в eBPF
- OpenNews: Компания Oracle намерена переработать DTrace для Linux с использованием eBPF
Похожие новости:
- Компания Microsoft портировала Sysmon для Linux и открыла его код
- Создана организация eBPF Foundation
- Уязвимости в eBPF, позволяющие обойти защиту от атаки Spectre 4
- Уязвимость в eBPF, позволяющая выполнить код на уровне ядра Linux
- [Настройка Linux, Open source, Виртуализация, Визуализация данных] Визуализация данных производительности в RHEL 8
- Уязвимости в подсистеме eBPF, позволяющие обойти защиту от атак класса Spectre
- Представлена библиотека Aya для создания eBPF-обработчиков на языке Rust
- Уязвимости в подсистеме eBPF, позволяющие выполнить код на уровне ядра Linux
- Microsoft подготовил реализацию eBPF для Windows
- Уязвимости в подсистеме eBPF ядра Linux
Теги для поиска: [url=https://torrents-local.xyz/search.php?nm=%23_bumblebee&to=0&allw=0&o=1&s=0&f%5B%5D=820&f%5B%5D=959&f%5B%5D=958&f%5B%5D=872&f%5B%5D=967&f%5B%5D=954&f%5B%5D=885&f%5B%5D=882&f%5B%5D=863&f%5B%5D=881&f%5B%5D=860&f%5B%5D=884&f%5B%5D=865&f%5B%5D=873&f%5B%5D=861&f%5B%5D=864&f%5B%5D=883&f%5B%5D=957&f%5B%5D=859&f%5B%5D=966&f%5B%5D=956&f%5B%5D=955]#_bumblebee[/url], #_tbpf, #_bpf
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 26-Апр 08:52
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 2 месяца |
|
Компания Solo.io, развивающая продукты для обеспечения работы облачных систем, микросервисов, изолированных контейнеров и бессерверных вычислений, опубликовала открытый инструментарий BumbleBee, нацеленный на упрощение подготовки, распространения и запуска eBPF-программ, выполняемых в специальной виртуальной машине внутри ядра Linux и позволяющих обрабатывать сетевые операции, контролировать доступ и отслеживать работу систем. Код написан на языке Go и распространяется под лицензией Apache 2.0. BumbleBee даёт возможность упаковать eBPF-программу в виде образа контейнера в формате OCI (Open Container Initiative), который можно запускать на любых системах без перекомпиляции и использования дополнительных компонентов в пространстве пользователя. Взаимодействие с eBPF-кодом в ядре, в том числе обработку поступающих из eBPF-обработчика данных, берёт на себя BumbleBee, который автоматически экспортирует эти данные в виде метрик, гистограмм или логов, доступ к которым можно получить, например, при помощи утилиты curl. Предлагаемый подход позволяет разработчику сосредоточить внимание на написании кода eBPF и не отвлекаться на организацию взаимодействия с этим кодом из пространства пользователя, сборку и загрузку в ядро. Для управления eBPF-программами предлагается работающая в стиле Docker утилита "bee", при помощи которой можно сразу загрузить интересующий eBPF-обработчик из внешнего репозитория и запустить на локальной системе. Инструментарий позволяет сгенерировать каркас кода на языке Си для eBPF-обработчиков выбранной тематики (в настоящее время поддерживаются только обработчики сетевых и файловых операций, перехватывающих вызовы сетевого стека и файловых систем). На основе сформированного каркаса разработчик может быстро реализовать интересующую его функциональность. В отличие от BCC (BPF Compiler Collection) в BumbleBee не выполняется полная пересборка кода обработчика для каждой версии ядра Linux (BCC использует компиляцию на лету при помощи Clang при каждом запуске eBPF-программы). Для решения проблем с переносимостью развиваются инструментарии CO-RE и libbpf, позволяющие собирать код только один раз и использовать специальный универсальный загрузчик, адаптирующий загружаемую программу к текущему ядру и типам BTF (BPF Type Format). BumbleBee является надстройкой над libbpf и предоставляет дополнительные типы для автоматической интерпретации и отображения данных, размещаемых в штатных для eBPF map-структурах RingBuffer и HashMap. Для сборки итоговой eBPF-программы и сохранения в виде OCI-образа достаточно выполнить команду "bee build файл_с_кодом имя:версия", а для запуска команду "bee run имя:версия". По умолчанию получаемые от обработчика события будут выводиться в окно терминала, но при необходимости можно получить данные обратившись утилитами curl или wget к привязанному к обработчику сетевому порту. Обработчики можно распространять через OCI-совместимые репозитории, например, для запуска внешнего обработчика из репозитория ghcr.io (GitHub Container Registry) можно выполнить команду "bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)". Для помещения обработчика в репозиторий предлагается команда "bee push", а для привязки версии - "bee tag". =========== Источник: OpenNet.RU =========== Похожие новости
|
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 26-Апр 08:52
Часовой пояс: UTC + 5