Solo.io, kampuni inayotengeneza bidhaa za mifumo ya wingu, huduma ndogo, vyombo vilivyotengwa, na kompyuta isiyotumia seva, imechapisha zana huria ya BumbleBee, inayolenga kurahisisha utayarishaji, usambazaji, na utekelezaji wa programu za eBPF zinazoendeshwa katika mashine maalum pepe ndani ya kiini. Linux na kuwezesha usindikaji wa shughuli za mtandao, udhibiti wa ufikiaji, na ufuatiliaji wa mfumo. Msimbo umeandikwa katika Go na kusambazwa chini ya leseni ya Apache 2.0.
BumbleBee huwezesha ufungaji wa programu ya eBPF kama picha ya kontena ya OCI (Open Container Initiative), ambayo inaweza kuendeshwa kwenye mfumo wowote bila urejeshaji au vipengee vya ziada vya nafasi ya mtumiaji. Mwingiliano na msimbo wa eBPF kwenye kernel, ikiwa ni pamoja na usindikaji wa data kutoka kwa kidhibiti cha eBPF, hushughulikiwa na BumbleBee, ambayo husafirisha data hii kiotomatiki kama vipimo, historia, au kumbukumbu, ambazo zinaweza kufikiwa, kwa mfano, kwa kutumia matumizi ya curl. Mbinu hii huruhusu msanidi programu kuzingatia kuandika msimbo wa eBPF na kutokengeushwa na hitaji la kusano na msimbo huu kutoka kwa nafasi ya mtumiaji, kuijenga, na kuipakia kwenye kernel.
Kwa kusimamia programu za eBPF, matumizi ya mtindo wa Docker inayoitwa "nyuki" hutolewa. Inakuruhusu kupakua kidhibiti cha eBPF unachotaka mara moja kutoka kwa hazina ya nje na kuiendesha kwenye mfumo wa ndani. Zana ya zana hukuruhusu kutoa kiunzi cha msimbo wa C kwa vidhibiti vya eBPF katika mada fulani (kwa sasa, vidhibiti vya utendakazi wa mtandao na faili pekee, ambavyo hukata rundo la mtandao na simu za mfumo wa faili, ndizo zinazotumika). Kwa kutumia mifupa hii, msanidi programu anaweza kutekeleza haraka utendaji unaotaka.
Tofauti na BCC (Mkusanyiko wa Mkusanyaji wa BPF), BumbleBee haifanyi uundaji upya kamili wa msimbo wa kidhibiti kwa kila toleo la kiini. Linux (BCC hutumia mkusanyiko wa haraka na Clang kila wakati programu ya eBPF inapoendeshwa.) Ili kushughulikia masuala ya kubebeka, vifaa vya CO-RE na libbpf vinatengenezwa, kuruhusu msimbo kukusanywa mara moja tu na kwa kutumia kipakiaji maalum cha ulimwengu wote ambacho hurekebisha programu iliyopakiwa kwa aina za kerneli na BTF (BPF Type Format). BumbleBee ni nyongeza ya libbpf na hutoa aina za ziada za kutafsiri na kuonyesha kiotomatiki data iliyohifadhiwa katika miundo ya ramani ya eBPF, RingBuffer na HashMap.
Ili kuunda programu ya mwisho ya eBPF na kuihifadhi kama picha ya OCI, endesha tu "bee build code_file name:version" na "bee run name:version" ili kuiendesha. Kwa chaguo-msingi, matukio yaliyopokewa kutoka kwa kidhibiti yatatolewa kwa kidirisha cha terminal, lakini unaweza kupata data kwa kutumia curl au wget kwenye mlango wa mtandao unaofungamana na kidhibiti. Vishikilizi vinaweza kusambazwa kupitia hazina zinazolingana na OCI. Kwa mfano, ili kuendesha kidhibiti cha nje kutoka hazina ya ghcr.io (Msajili wa Kontena wa GitHub), unaweza kuendesha "bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(toleo la nyuki)". Ili kusukuma kidhibiti kwenye hifadhi, tumia "kushinikiza nyuki" na kuweka alama kwenye toleo, tumia "lebo ya nyuki".
Chanzo: opennet.ru
