BumbleBee - инструментарий для упрощения создания и распространения eBPF-программ

Автор Сообщение
news_bot ®

Стаж: 6 лет 2 месяца
Сообщений: 27286

Создавать темы news_bot ® написал(а)
11-Янв-2022 18:30

Компания 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
===========

Похожие новости: Теги для поиска: [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