BumbleBee - komplet orodij za poenostavitev ustvarjanja in distribucije programov eBPF

Solo.io, podjetje, ki razvija izdelke za poganjanje sistemov v oblaku, mikrostoritev, izoliranih vsebnikov in brezstrežniškega računalništva, je objavilo BumbleBee, odprtokodno orodje, namenjeno poenostavitvi priprave, distribucije in zagona programov eBPF, ki se izvajajo v posebnem virtualnem stroju znotraj jedro Linuxa in omogoča obdelavo omrežnih operacij, nadzor dostopa in nadzor sistemov. Koda je napisana v Go in se distribuira pod licenco Apache 2.0.

BumbleBee omogoča pakiranje programa eBPF kot slike vsebnika v formatu OCI (Open Container Initiative), ki se lahko izvaja v kateremkoli sistemu brez ponovnega prevajanja in uporabe dodatnih komponent v uporabniškem prostoru. Interakcijo s kodo eBPF v jedru, vključno z obdelavo podatkov, ki prihajajo iz upravljalnika eBPF, prevzame BumbleBee, ki te podatke samodejno izvozi v obliki metrik, histogramov ali dnevnikov, do katerih lahko dostopate npr. pripomoček za kodre. Predlagani pristop omogoča razvijalcu, da se osredotoči na pisanje kode eBPF in ga ne moti organiziranje interakcije s to kodo od uporabniškega prostora, sestavljanja in nalaganja v jedro.

Za upravljanje programov eBPF je na voljo pripomoček »čebelica« v slogu Dockerja, s katerim lahko takoj prenesete obravnavalnik eBPF, ki vas zanima, iz zunanjega repozitorija in ga zaženete v lokalnem sistemu. Zbirka orodij vam omogoča ustvarjanje okvira kode v C za obdelovalce eBPF izbrane teme (trenutno so podprti samo obdelovalci za omrežne in datotečne operacije, ki prestrežejo klice v omrežni sklad in datotečne sisteme). Na podlagi generiranega ogrodja lahko razvijalec hitro implementira funkcionalnost, ki ga zanima.

Za razliko od BCC (Zbirka prevajalnika BPF) BumbleBee ne zgradi popolnoma znova kode za obravnavo za vsako različico jedra Linuxa (BCC uporablja sprotno prevajanje z uporabo Clang vsakič, ko se zažene program eBPF). Za reševanje težav s prenosljivostjo se razvijata orodja CO-RE in libbpf, ki vam omogočata, da kodo sestavite samo enkrat in uporabite poseben univerzalni nalagalnik, ki prilagodi naloženi program trenutnemu jedru in formatu tipa BTF. BumbleBee je dodatek k libbpf in ponuja dodatne vrste za samodejno interpretacijo in prikaz podatkov, ki se nahajajo v standardnih strukturah zemljevidov eBPF RingBuffer in HashMap.

Če želite zgraditi končni program eBPF in ga shraniti kot sliko OCI, samo zaženite ukaz »bee build file_with_code name:version« in zaženite ukaz »bee run name:version«. Privzeto bodo dogodki, prejeti od obdelovalnika, izhodni v terminalsko okno, vendar lahko po potrebi pridobite podatke z uporabo pripomočkov curl ali wget do omrežnih vrat, povezanih z obdelovalcem. Obdelovalce je mogoče distribuirati prek repozitorijev, združljivih z OCI, na primer, če želite zagnati zunanji upravljalnik iz repozitorija ghcr.io (GitHub Container Registry), lahko zaženete ukaz »bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(čebelja različica)«. Za postavitev upravljalnika v repozitorij je predlagan ukaz »bee push«, za vezavo različice pa »bee tag«.

Vir: opennet.ru

Dodaj komentar