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

solo.io, компанія хмарних обчислень, мікросервіси, ізольовані та безсерверні, представив проект з відкритим вихідним кодом "BumbleBee". Новий проект спрощує роботу розробника для створення, упаковки та розповсюдження інструментів eBPF, за словами Соло.

BumbleBee автоматично створює код простору користувача шаблон для розробки інструментів eBPF, пояснили в компанії. Він також забезпечує досвід, схожий на Docker щоб упакувати програму eBPF. Це дозволяє підключатися до інших робочих процесів зображень OCI для публікації та розповсюдження.

Про BumbleBee

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 Type Format).

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