solo.io, inkampani yecomputing yelifu, ii-microservices, i-sandboxed kunye ne-serverless, Utyhile iprojekthi yomthombo ovulekileyo "BumbleBee". Iprojekthi entsha yenza lula amava omphuhlisi ukwakha, ukupakisha nokusasaza izixhobo ze-eBPF, ngokutsho kukaSolo.
inyosi enkulu enoboya yenza ngokuzenzekelayo ikhowudi yendawo yomsebenzisi boilerplate ukuphuhlisa izixhobo eBPF, inkampani wachaza. Ikwabonelela ngamava afana neDocker ukupakisha inkqubo ye-eBPF. Oku kukuvumela ukuba uqhagamshele kwezinye ii-OCI zokuqhutywa komfanekiso wokupapashwa nokusasazwa.
Malunga neBumbleBee
inyosi enkulu enoboya yenza kube nokwenzeka ukupakisha inkqubo ye-eBPF njengomfanekiso wesikhongozeli ukusuka kwi-Open Container Initiative (OCI) enokuqhuba kuyo nayiphi na inkqubo ngaphandle kokubuyisela okanye ukusebenzisa amacandelo awongezelelweyo kwindawo yomsebenzisi.
Ukusebenzisana kunye nekhowudi ye-eBPF kwi-kernel, kubandakanywa nokucutshungulwa kwedatha evela kwiprosesa ye-eBPF, iphathwa yi-BumbleBee, ethumela ngokuzenzekelayo le datha ngendlela yeemethrikhi, i-histograms, okanye iilogi, ezinokuthi zifikeleleke, umzekelo, usebenzisa. i-curl eluncedo. Indlela ecetywayo ivumela umphuhlisi ukuba agxininise ekubhaleni ikhowudi ye-eBPF. kwaye ungaphazanyiswa ngokulungelelanisa ukusebenzisana nale khowudi kwindawo yomsebenzisi, ukudibanisa, kunye nokulayisha kwi-kernel.
I-CEO ye-Solo.io, U-Idit Levine uthi:
Inkampani iphuhlise i-BumbleBee ukuvelisa ngokuzenzekelayo ikhowudi ye-boilerplate yomsebenzisi efunekayo ukufikelela kwi-teknoloji ye-eBPF ehamba kwinqanaba le-kernel. I-BumbleBee ibandakanya ujongano lomgca womyalelo (CLI) eyenza ngokuzenzekelayo ikhowudi yendawo yomsebenzisi kwiiprogram ze-eBPF ngokuveza ngokuzenzekelayo iimephu ezifana neelogi, i-metrics, kunye ne-histograms.
Ukulawula iinkqubo ze-eBPF, Isixhobo se-Docker-style "bee" sinikezelwe, apho unokukhuphela ngoko nangoko umqhubi we-eBPF yomdla kwindawo yokugcina yangaphandle kwaye uyiqhube kwinkqubo yendawo.
I-toolkit ikuvumela ukuba uvelise isakhelo sekhowudi ye-C kubaqhubi be-eBPF bomxholo okhethiweyo (okwangoku kuphela ifayile kunye nabaqhubi benethiwekhi ababamba iifowuni kwi-stack yenethiwekhi kunye neenkqubo zefayile ezixhaswayo). Ngokusekelwe kwisakhelo esiveliswayo, umphuhlisi unokukhawuleza ukuphumeza umsebenzi onomdla kuye.
Ngokungafaniyo ne-BCC (iQokelelo le-BPF Compiler), I-BumbleBee ayakhi ngokutsha ikhowudi yomqhubi kwinguqulelo nganye yekernel I-Linux (i-BCC isebenzisa ukuhlanganiswa kwe-on-the-fly noClang ngalo lonke ixesha inkqubo ye-eBPF iqhutywa).
Ukusombulula imiba yokuphatheka, Bayaphuhlisa izixhobo zokusebenza CO-RE kunye ne-libbpf, ekuvumela ukuba uqokelele ikhowudi kube kanye kwaye usebenzise umlayishi okhethekileyo wendalo yonke olungelelanisa inkqubo elayishiweyo kwi-kernel yangoku kunye ne-BTF (i-BPF Type Format) iintlobo.
I-BumbleBee yiplagi engaphezulu kwe-libbpf kwaye ibonelela ngeentlobo ezongezelelweyo zokutolika ngokuzenzekelayo kunye nokuboniswa kwedatha ebekwe kwi-RingBuffer eqhelekileyo kunye ne-HashMap eBPF imephu yezakhiwo.
Ukwakha inkqubo yokugqibela ye-eBPF kwaye uyigcine njengomfanekiso we-OCI, sebenzisa nje umyalelo:
bee build file_with_code name:version
Kwaye sebenzisa umyalelo
bee run name:version
Ngokungagqibekanga, iziganeko ezifunyenwe kumlawuli ziya kuboniswa kwifestile yesiphelo, kodwa ukuba kuyimfuneko unokufumana idatha ngokubiza i-curl okanye i-wget eziluncedo kwi-port yenethiwekhi ebotshelelwe kumlawuli.
Abaqhubi banokusasazwa ngeendawo zokugcina ezithobelayo ze-OCI, umzekelo, ukuqhuba umqhubi wangaphandle kwi-ghcr.io (GitHub Container Registry) yokugcina, ungaqhuba umyalelo.
bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)
Ukubeka umlawuli kwindawo yokugcina, umyalelo unikezelwa
bee push
Kwaye ukudibanisa inguqulelo
bee tag
Olona ncedo lukhulu lwe-eBPF kukusebenza nje kakuhle. Ixabiso lilonke lokucubungula ukhuseleko, uthungelwano kunye namaqonga okugcina kufuneka anciphe njengoko ababoneleli abaninzi bethatha ithuba lobuchule babo.
Okwangoku, i-eBPF isetyenziswa ngokubanzi ziinkampani ze-web-scale ezifana nabanikezeli benkonzo yefu. I-Facebook iyisebenzisa njengeyona nto iphambili i-software-defined load balancer kumaziko ayo edatha, ngelixa uGoogle usebenzisa umthombo ovulekileyo we-software ye-Cilium networking ngaphakathi kwe-Kubernetes elawulwayo.
Ukuqhubela phambili, nangona kunjalo, u-Levine uthi ngoku yinto yexesha ngaphambi kokuba i-eBPF yamkelwe ngokubanzi njengoko iinkqubo ezininzi zokusebenza zivumela ukubanakho.
Gqibela ukuba ufuna ukwazi ngakumbi ngayo, ungajonga iinkcukacha Kule khonkco ilandelayo.