BumbleBee - eBPF proqramlarının yaradılmasını və yayılmasını sadələşdirmək üçün alətlər dəsti

Bulud sistemləri, mikroservislər, təcrid olunmuş konteynerlər və serversiz hesablamalar üçün məhsullar hazırlayan şirkət Solo.io, daxilində xüsusi virtual maşında işləyən eBPF proqramlarının hazırlanmasını, yayılmasını və işə salınmasını asanlaşdırmağa yönəlmiş açıq mənbə alət dəstini BumbleBee nəşr etdi. Linux nüvəsi və şəbəkə əməliyyatlarını emal etməyə, girişi idarə etməyə və sistemlərə nəzarət etməyə imkan verir. Kod Go-da yazılır və Apache 2.0 lisenziyası altında paylanır.

BumbleBee, eBPF proqramını OCI (Açıq Konteyner Təşəbbüsü) formatında konteyner təsviri kimi qablaşdırmağı mümkün edir ki, bu da yenidən tərtib edilmədən və istifadəçi məkanında əlavə komponentlərin istifadəsi olmadan istənilən sistemdə işlədilə bilər. Əsasdakı eBPF kodu ilə qarşılıqlı əlaqə, o cümlədən eBPF işləyicisindən gələn məlumatların emalı, BumbleBee tərəfindən qəbul edilir və bu məlumatları avtomatik olaraq metriklər, histoqramlar və ya jurnallar şəklində ixrac edir, məsələn, istifadə edərək əldə edilə bilər. curl yardım proqramı. Təklif olunan yanaşma tərtibatçıya diqqətini eBPF kodunu yazmağa yönəltməyə və istifadəçi məkanından bu kodla qarşılıqlı əlaqəni təşkil etməklə, yığılma və kernelə yükləmədən yayınmamağa imkan verir.

eBPF proqramlarını idarə etmək üçün Docker tipli “arı” yardım proqramı təklif olunur, onun köməyi ilə siz dərhal xarici repozitoriyadan maraq doğuran eBPF işləyicisini yükləyə və onu yerli sistemdə işə sala bilərsiniz. Alətlər dəsti seçilmiş mövzunun eBPF işləyiciləri üçün C dilində kod çərçivəsi yaratmağa imkan verir (hazırda yalnız şəbəkə yığınına və fayl sistemlərinə zəngləri kəsən şəbəkə və fayl əməliyyatları üçün işləyicilər dəstəklənir). Yaradılmış çərçivəyə əsaslanaraq, tərtibatçı maraqlandığı funksionallığı tez bir zamanda həyata keçirə bilər.

BCC-dən (BPF Compiler Collection) fərqli olaraq, BumbleBee Linux nüvəsinin hər bir versiyası üçün işləyici kodunu tamamilə yenidən qurmur (BCC eBPF proqramı hər dəfə işə salındıqda Clang-dan istifadə edərək anında kompilyasiyadan istifadə edir). Daşınma ilə bağlı problemləri həll etmək üçün CO-RE və libbpf alətləri hazırlanır ki, bu da yalnız bir dəfə kod yaratmağa və yüklənmiş proqramı cari nüvəyə və BTF Tip Formatına uyğunlaşdıran xüsusi universal yükləyicidən istifadə etməyə imkan verir. BumbleBee libbpf-ə əlavədir və standart eBPF xəritə strukturları RingBuffer və HashMap-də yerləşən məlumatların avtomatik şərhi və göstərilməsi üçün əlavə növlər təqdim edir.

Son eBPF proqramını qurmaq və onu OCI təsviri kimi saxlamaq üçün “bee build file_with_code name:version” və “bee run name:version” əmrini yerinə yetirmək kifayətdir. Varsayılan olaraq, işləyicidən alınan hadisələr terminal pəncərəsinə çıxarılacaq, lakin lazım gələrsə, işləyiciyə bağlı şəbəkə portuna curl və ya wget utilitlərindən istifadə etməklə məlumat əldə edə bilərsiniz. İşləyicilər OCI-uyğun depolar vasitəsilə paylana bilər, məsələn, ghcr.io repozitoriyasından (GitHub Konteyner Reyestrindən) xarici işləyicini işə salmaq üçün siz “bee run ghcr.io/solo-io/bumblebee/tcpconnect əmrini işlədə bilərsiniz: $(arı versiyası)”. Repozitoriyada işləyici yerləşdirmək üçün “bee push” əmri və versiyanı bağlamaq üçün “bee tag” təklif olunur.

Mənbə: opennet.ru

Добавить комментарий