BumbleBee - chishandiso chekurerutsa kugadzirwa uye kugovera eBPF zvirongwa

Solo.io, kambani inogadzira zvigadzirwa zvekushandisa makore masystem, microservices, midziyo yakasarudzika uye serverless komputa, yakaburitsa BumbleBee, yakavhurika sosi yekushandisa yakanangana nekurerutsa kugadzirira, kugovera uye kutanga kwe eBPF zvirongwa zvinomhanya mune yakakosha muchina mukati. iyo Linux kernel uye bvumira kugadzirisa mashandiro etiweki, kudzora kupinda uye kutarisa masisitimu. Iyo kodhi yakanyorwa muGo uye yakagoverwa pasi peiyo Apache 2.0 rezinesi.

BumbleBee inoita kuti zvikwanise kurongedza chirongwa cheBPF semufananidzo wemudziyo muOCI (Open Container Initiative) fomati, inogona kumhanyisa pane chero system pasina kudzoreredza uye kushandiswa kwezvimwe zvikamu munzvimbo yemushandisi. Kudyidzana neiyo eBPF kodhi mukati, kusanganisira kugadziridzwa kwedata rinouya kubva kuBPF inobata, inotorwa neBumbleBee, iyo inotumira kunze data iyi nenzira yemametrics, histograms kana matanda, anogona kuwanikwa, semuenzaniso, uchishandisa curl utility. Nzira yakarongwa inobvumira mugadziri kuti aise pfungwa pakunyora eBPF kodhi uye kuti asakanganiswa nekuronga kuwirirana nekodhi iyi kubva munzvimbo yemushandisi, kuungana uye kurodha mu kernel.

Kuti utore eBPF zvirongwa, Docker-style "nyuchi" utility inopihwa, iyo iwe yaunogona nekukasira kudhawunirodha eBPF inobata yekufarira kubva kune yekunze repository uye woimhanyisa pane yemuno system. Iyo toolkit inokutendera iwe kugadzira kodhi kodhi muC yeBPF vanobata yemusoro wakasarudzwa (parizvino vanongobata chete netiweki uye faira mashandiro anobata mafoni kunetiweki stack uye mafaira masisitimu anotsigirwa). Zvichienderana neyakagadzirwa chimiro, mugadziri anogona kukurumidza kuita basa raanofarira.

Kusiyana neBCC (BPF Compiler Collection), BumbleBee haigadziri zvachose kodhi yemubati yevhezheni yega yega yeLinux kernel (BCC inoshandisa pa-the-fly compilation uchishandisa Clang pese panotangwa chirongwa cheBPF). Kugadzirisa matambudziko nekutakurika, iyo CO-RE uye libbpf maturusi ari kugadzirwa, achikubvumidza iwe kuvaka kodhi kamwe chete uye kushandisa yakakosha yepasirese loader inogadzirisa chirongwa chakaremerwa kune yazvino kernel uye BTF Type Format. BumbleBee ndeye yekuwedzera kune libbpf uye inopa mamwe marudzi ekududzira otomatiki uye kuratidzwa kwedata riri mune yakajairwa eBPF mepu zvimiro RingBuffer uye HashMap.

Kuti uvake chirongwa chekupedzisira eBPF uye uichengetedze semufananidzo weOCI, ingomhanya murairo "nyuchi kuvaka file_with_code zita: shanduro", uye kumhanyisa murairo "nyuchi run name: version". Nekumisikidza, zviitiko zvakagamuchirwa kubva kumubati zvichaburitswa kune terminal hwindo, asi kana zvichidikanwa, unogona kuwana data nekushandisa curl kana wget zvishandiso kunetiweki port inosungirirwa kune inobata. Mabatiro anogona kugovaniswa kuburikidza neOCI-inoenderana repositori, semuenzaniso, kumhanyisa mubati wekunze kubva kughcr.io repository (GitHub Container Registry), unogona kumhanya murairo "bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(bee version)". Kuisa mubati munzvimbo inochengeterwa, murairo we "bee push" unotsanangurwa, uye kusunga shanduro, "bee tag".

Source: opennet.ru

Voeg