BumbleBee — tööriistakomplekt eBPF programmide loomise ja levitamise lihtsustamiseks

Solo.io, mis arendab pilvesĂŒsteemide, mikroteenuste, eraldatud konteinerite ja serverivabade arvutuste tööriistu, avaldas avatud tööriistakomplekti BumbleBee, mille eesmĂ€rk on lihtsustada eBPF-programmide ettevalmistamist, levitamist ja kĂ€ivitamist, mis toimivad spetsiaalses virtuaalmasinas Linuxi kernelis ning vĂ”imaldavad hallata vĂ”rguoperatsioone, kontrollida pÀÀsu ja jĂ€lgida sĂŒsteemide tööprotsesse. Kood on kirjutatud Go keeles ja levitatakse Apache 2.0 litsentsi alusel.

BumbleBee vĂ”imaldab eBPF-programmi pakendada OCI (Open Container Initiative) formaadis konteineri kujul, mida saab kasutada igas sĂŒsteemis ilma ĂŒmberkompileerimise ja lisakomponentide vajaduseta kasutajaruumi. Interaktsiooni eBPF-koodiga kernelis, sealhulgas eBPF-kĂ€sitlejatest pĂ€rinevate andmete töötlemise, haldab BumbleBee, mis automaatselt ekspordib need andmed meetrikate, histogrammide vĂ”i logide kujul, millele saab ligipÀÀsu nĂ€iteks curl utiliidi abil. Pakutud lĂ€henemine vĂ”imaldab arendajal keskenduda eBPF-koodi kirjutamisele, hĂ€irimata kasutajaruumi koodeksi ja selle koodi interaktsiooni korraldamise, kogumise ja kerneli laadimisega.

eBPF-programmide haldamiseks on pakutud Docker-tyylist utiliiti 'bee', millega saab kohe alla laadida huvipakkuva eBPF-kĂ€sitleja vĂ€lisest hoidlast ja kĂ€ivitada kohalikes sĂŒsteemides. Tööriistakomplekt vĂ”imaldab genereerida C keeles eBPF-kĂ€sitlejate valitud teemade jaoks koodi karkassi (praegu toetatakse ainult vĂ”rguliikluse ja failisĂŒsteemide toimingute kĂ€sitlejaid, mis pĂŒĂŒavad kinni vĂ”rgustikku ja failisĂŒsteemide vĂ€ljakutseid). PĂ”hjal loodud karkassist saab arendaja kiiresti luua oma soovitud funktsionaalsuse.

Erinevalt BCC-st (BPF Compiler Collection) ei toimu BumbleBees iga Linuxi tuuma versiooni jaoks töötleja koodi tĂ€ielikku uuesti kompileerimist (BCC kasutab iga eBPF-programmi kĂ€ivitamisel Clangi abil reaalajas kompileerimist). Ülekantavuse probleemide lahendamiseks arendatakse CO-RE ja libbpf tööriistu, mis vĂ”imaldavad koodi kompileerida ainult ĂŒks kord ja kasutada spetsiaalset universaalset laadijat, mis kohandab laaditavat programmi vastavalt praegusele tuumale ja BTF (BPF Type Format) tĂŒĂŒpidele. BumbleBee on libbpf-i peal oleva tarkvara kiht, mis pakub tĂ€iendavaid tĂŒĂŒpe andmete automaatseks tĂ”lgendamiseks ja kuvamiseks, mis on paigutatud tavalistesse eBPF map-struktuuridesse nagu RingBuffer ja HashMap.

KokkuvĂ”tlikku eBPF-programmi koostamiseks ja OCI-pildina salvestamiseks piisab, kui kĂ€ivitada kĂ€sk „bee build fail_koodiga nimi:versioon”, ja kĂ€ivitamiseks kĂ€sk „bee run nimi:versioon”. Vaikimisi saadavad töötlejalt saadud sĂŒndmused terminaliaknasse, kuid vajadusel saab andmeid hankida, kui suunata curl vĂ”i wget tööriistad töötlejaga seotud vĂ”rgupordile. Töötlejaid saab levitada OCI-ĂŒhtsete registrite kaudu, nĂ€iteks vĂ€lise töötleja kĂ€ivitamiseks registrist ghcr.io (GitHub Container Registry) vĂ”ib kĂ€itada kĂ€sku „bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)”. Töötleja deponeerimiseks registrisse on ette nĂ€htud kĂ€sk „bee push”, ja versiooni sidumiseks — „bee tag”.

Allikas: opennet.ru

Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid đŸ”„ Osta usaldusvÀÀrne hostimine veebilehtede jaoks DDoS-i kaitsega, VPS VDS serverid | ProHoster