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. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.