BumbleBee, отличный проект для упрощения создания и распространения программ eBPF.

Соло ио, компания облачных вычислений, микросервисы, изолированные и бессерверные, представил проект с открытым исходным кодом «Шмель». Новый проект упрощает работу разработчиков создавать, упаковывать и распространять инструменты eBPF, по словам Соло.

BumbleBee автоматически генерировать код пространства пользователя Компания пояснила, что постоянно разрабатывает инструменты eBPF. Он также обеспечивает работу в стиле Docker. для упаковки программы eBPF. Это позволяет подключаться к другим рабочим процессам изображений OCI для публикации и распространения.

О Бамблби

BumbleBee позволяет упаковать программу eBPF в виде образа контейнера Open Container Initiative (OCI), которую можно запустить в любой системе без перекомпиляции и использования дополнительных компонентов в пространстве пользователя.

Взаимодействием с кодом eBPF в ядре, включая обработку данных, поступающих от процессора eBPF, занимается BumbleBee, который автоматически экспортирует эти данные в виде метрик, гистограмм или логов, доступ к которым можно получить, например, с помощью утилита curl. Предлагаемый подход позволяет разработчику сосредоточиться на написании кода eBPF. и не отвлекаться на организацию взаимодействия с этим кодом из пространства пользователя, сборку и загрузку в ядро.

Генеральный директор Solo.io, Идит Левин говорит, что:

Компания разработала BumbleBee для автоматического создания повторяющегося кода пользовательского пространства, необходимого для доступа к технологиям eBPF, работающим на уровне ядра. BumbleBee включает в себя интерфейс командной строки (CLI), который автоматически генерирует код пользовательского пространства для программ eBPF, автоматически предоставляя карты, такие как журналы, метрики и гистограммы.

Для управления программами eBPF, предусмотрена утилита "пчела" в стиле Docker, с помощью которой можно сразу скачать драйвер eBPF из внешнего репозитория и запустить его в локальной системе.

Инструментарий позволяет генерировать кадр кода C для драйверов eBPF для выбранной темы (в настоящее время поддерживаются только файловые и сетевые драйверы, перехватывающие вызовы сетевого стека и файловые системы). На основе сгенерированного фреймворка разработчик может быстро реализовать интересующий его функционал.

В отличие от BCC (коллекция компиляторов BPF), BumbleBee не полностью перестраивает код драйвера для каждой версии ядра. Linux (BCC использует компиляцию на лету с Clang каждый раз, когда запускается программа eBPF).

Чтобы решить проблемы с переносимостью, Развиваются наборы инструментов CO-RE и libbpf, которые позволяют компилировать код один раз и использовать специальный универсальный загрузчик, который адаптирует загружаемую программу под текущее ядро ​​и типы BTF (формат типа BPF).

BumbleBee является надстройкой над libbpf и предоставляет дополнительные типы для автоматической интерпретации и визуализации данных, размещенных в стандартных структурах карты RingBuffer и HashMap eBPF.

Чтобы собрать окончательную программу eBPF и сохранить ее как образ OCI, просто выполните команду:

bee build file_with_code name:version

И запустите команду

bee run name:version

По умолчанию события, полученные от контроллера, будут отображаться в окне терминала, но при необходимости вы можете получить данные, вызвав утилиты curl или wget на сетевой порт, привязанный к контроллеру.

Драйверы можно распространять через репозитории, совместимые с OCI, например, чтобы запустить внешний драйвер из репозитория ghcr.io (GitHub Container Registry), вы можете запустить команду

bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)

Для помещения контроллера в репозиторий предлагается команда

bee push

И связать версию

bee tag

Самым большим преимуществом eBPF является просто эффективность. Общая стоимость обработки для платформ безопасности, сетей и хранения данных должна снижаться по мере того, как все больше поставщиков используют их возможности. 

Сейчас, eBPF широко используется веб-компаниями, такими как поставщики облачных услуг. Facebook использует его в качестве основного программно-определяемого балансировщика нагрузки в своих центрах обработки данных, в то время как Google использует сетевое программное обеспечение Cilium с открытым исходным кодом в своих управляемых предложениях Kubernetes. 

Однако в будущем, по словам Левин, это только вопрос времени, когда eBPF получит гораздо более широкое распространение, поскольку все больше операционных систем обеспечивают эту емкость.

В конце концов если вы хотите узнать об этом больше, вы можете проверить подробности По следующей ссылке.


Содержание статьи соответствует нашим принципам редакционная этика. Чтобы сообщить об ошибке, нажмите здесь.

Будьте первым, чтобы комментировать

Оставьте свой комментарий

Ваш электронный адрес не будет опубликован.

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.

bool (истина)