BumbleBee - amûrek ji bo hêsankirina çêkirin û belavkirina bernameyên eBPF

Solo.io, pargîdaniyek ku hilberan ji bo xebitandina pergalên ewr, mîkroxizmet, konteynerên veqetandî û hesabkirina bê server pêşdixe, BumbleBee, amûrek çavkaniyek vekirî weşand ku armanc ew e ku amadekirin, belavkirin û destpêkirina bernameyên eBPF yên ku di nav makîneyek virtual ya taybetî de dimeşin hêsan bike. kernel Linux û destûrê dide operasyonên torê yên pêvajoyê, pergalên gihîştinê û çavdêriyê kontrol bikin. Kod di Go de hatî nivîsandin û di bin lîsansa Apache 2.0 de tê belav kirin.

BumbleBee dihêle ku meriv bernameyek eBPF wekî wêneyek konteynerê di forma OCI (Initiative Container Open) de pak bike, ku dikare li ser her pergalê bêyî berhevkirin û karanîna hêmanên zêde di cîhê bikarhêner de were xebitandin. Têkiliya bi koda eBPF-ê ya di bingehê de, tevî hilberandina daneya ku ji hilgirê eBPF-ê tê, ji hêla BumbleBee ve tê girtin, ku bixweber van daneyan di forma metrîk, histogram an têketinê de derdixîne, ku dikare were gihîştin, mînakî, bi karanîna kargêriya curl. Nêzîkatiya pêşniyarî dihêle ku pêşdebir li ser nivîsandina koda eBPF-ê hûr bibe û bi organîzekirina danûstendina bi vê kodê re ji cîhê bikarhêner, civandin û barkirina nav kernelê ve mijûl nebe.

Ji bo birêvebirina bernameyên eBPF, karûbarek "bee" ya bi şêwaza Docker tê pêşkêş kirin, ku pê re hûn dikarin tavilê hilgirê eBPF-a eleqedar ji depoyek derveyî dakêşin û wê li ser pergala herêmî bimeşînin. Amûrek destûrê dide te ku hûn çarçoveyek kodê bi C-yê ji bo hilgirên eBPF yên mijarek hilbijartî biafirînin (niha tenê rêvebirên karûbarên torê û pelan ên ku bangên stûyê torê û pergalên pelan digirin têne piştgirî kirin). Li ser bingeha çarçoweya hatî çêkirin, pêşdebir dikare bi lez fonksiyona ku jê re eleqedar e bicîh bike.

Berevajî BCC (Berhevbera Berhevkarê BPF), BumbleBee ji bo her guhertoya kernel Linux-ê bi tevahî koda rêveker ji nû ve ava nake (BCC her carê ku bernameya eBPF dest pê dike bi Clang berhevokê bikar tîne). Ji bo çareserkirina pirsgirêkên bi veguheztinê, amûrên CO-RE û libbpf têne pêşve xistin, ku dihêle hûn tenê carekê kodê ava bikin û barkerek gerdûnî ya taybetî bikar bînin ku bernameya barkirî li gorî kernel û Forma Tîpa BTF ya heyî adapte dike. BumbleBee pêvekek libbpf-ê ye û cûreyên pêvek ji bo şîrovekirin û nîşankirina daneya ku di strukturên nexşeya standard eBPF RingBuffer û HashMap de cih digirin peyda dike.

Ji bo avakirina bernameya eBPF ya dawîn û hilanîna wê wekî wêneyek OCI, tenê fermana "bee build file_with_code name: versiyon" û ji bo ku emrê "bee run name: versiyon" bixebite. Ji hêla xwerû, bûyerên ku ji rêvekerê têne wergirtin dê di pencereya termînalê de werin derxistin, lê heke hewce be, hûn dikarin bi karanîna karûbarên curl an wget li porta torê ya ku bi rêker ve girêdayî ye daneyan bistînin. Handler dikarin bi navgîniya depoyên lihevhatî yên OCI ve werin belav kirin, mînakî, ji bo ku hûn ji depoya ghcr.io (GitHub Container Registry) destekek derveyî bimeşînin, hûn dikarin fermana "bee run ghcr.io/solo-io/bumblebee/tcpconnect" bimeşînin: $ (guhertoya bee)". Ji bo danîna rêvekerek di depoyê de, fermana "bee push" tê pêşniyar kirin, û ji bo girêdana guhertoyek, "tag bee".

Source: opennet.ru

Add a comment