BumbleBee - sett ta 'għodda biex jissimplifika l-ħolqien u d-distribuzzjoni ta' programmi eBPF

Solo.io, kumpanija li tiżviluppa prodotti għat-tħaddim ta’ sistemi ta’ sħab, mikroservizzi, kontenituri iżolati u kompjuters bla servers, ippubblikat BumbleBee, sett ta’ għodda ta’ sors miftuħ immirat biex jissimplifika l-preparazzjoni, id-distribuzzjoni u t-tnedija ta’ programmi eBPF li jaħdmu f’magna virtwali speċjali ġewwa. il-qalba tal-Linux u jippermettu l-ipproċessar ta 'operazzjonijiet tan-netwerk, jikkontrollaw l-aċċess u jimmonitorjaw is-sistemi. Il-kodiċi huwa miktub f'Go u mqassam taħt il-liċenzja Apache 2.0.

BumbleBee jagħmilha possibbli li jiġi ppakkjat programm eBPF bħala immaġni ta 'kontenitur fil-format OCI (Open Container Initiative), li jista' jitħaddem fuq kwalunkwe sistema mingħajr rikompilazzjoni u l-użu ta 'komponenti addizzjonali fl-ispazju tal-utent. L-interazzjoni mal-kodiċi eBPF fil-qalba, inkluż l-ipproċessar tad-dejta li ġejja mill-handler tal-eBPF, hija meħuda minn BumbleBee, li awtomatikament tesporta din id-dejta fil-forma ta’ metriċi, istogrammi jew zkuk, li jistgħu jiġu aċċessati, pereżempju, bl-użu tal- utilità curl. L-approċċ propost jippermetti lill-iżviluppatur jiffoka fuq il-kitba tal-kodiċi eBPF u ma jiġix distratt billi jorganizza l-interazzjoni ma 'dan il-kodiċi mill-ispazju tal-utent, l-assemblaġġ u t-tagħbija fil-qalba.

Biex timmaniġġja l-programmi eBPF, hija offruta utilità "naħla" ta 'stil Docker, li biha tista' immedjatament tniżżel il-handler ta 'interess eBPF minn repożitorju estern u tħaddem fis-sistema lokali. Is-sett ta' għodod jippermettilek li tiġġenera qafas ta' kodiċi f'C għal handlers tal-eBPF ta' suġġett magħżul (bħalissa huma appoġġjati biss handlers għal operazzjonijiet tan-netwerk u tal-fajls li jinterċettaw sejħiet lill-munzell tan-netwerk u s-sistemi tal-fajls). Ibbażat fuq il-qafas iġġenerat, l-iżviluppatur jista 'malajr jimplimenta l-funzjonalità li huwa interessat fiha.

B'differenza mill-BCC (BPF Compiler Collection), BumbleBee ma jerġax jibni kompletament il-kodiċi tal-handler għal kull verżjoni tal-kernel tal-Linux (BCC juża kumpilazzjoni on-the-fly billi juża Clang kull darba li jitnieda l-programm eBPF). Biex issolvi problemi bil-portabbiltà, qed jiġu żviluppati l-għodod CO-RE u libbpf, li jippermettulek tibni kodiċi darba biss u tuża loader universali speċjali li tadatta l-programm mgħobbi għall-għadma attwali u l-Format tat-Tip BTF. BumbleBee huwa add-on għal libbpf u jipprovdi tipi addizzjonali għall-interpretazzjoni awtomatika u l-wiri tad-dejta li tinsab fl-istrutturi standard tal-mapep tal-eBPF RingBuffer u HashMap.

Biex tibni l-programm eBPF finali u ssejvjah bħala immaġni OCI, mexxi biss il-kmand "bee build file_with_code name:version", u biex tmexxi l-kmand "bee run name:version". B'mod awtomatiku, l-avvenimenti riċevuti mill-handler se joħorġu fit-tieqa tat-terminal, iżda jekk meħtieġ, tista 'tikseb data billi tuża utilitajiet curl jew wget mal-port tan-netwerk marbut mal-handler. Handlers jistgħu jitqassmu permezz ta’ repożitorji kompatibbli mal-OCI, pereżempju, biex imexxu handler estern mir-repożitorju ghcr.io (Reġistru tal-Kontenituri GitHub), tista’ tmexxi l-kmand “bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(verżjoni tan-naħal)”. Biex tpoġġi handler fir-repożitorju, huwa propost il-kmand "bee push", u biex torbot verżjoni, "bee tag".

Sors: opennet.ru

Żid kumment