BumbleBee - qalab si loo fududeeyo abuurista iyo qaybinta barnaamijyada eBPF

Solo.io, oo ah shirkad soo saarta alaabada loogu talagalay socodsiinta nidaamyada daruuriga, microservices, weelasha go'doonsan iyo xisaabinta server-la'aanta, ayaa daabacday BumbleBee, qalab il furan oo loogu talagalay fududaynta diyaarinta, qaybinta iyo bilaabida barnaamijyada eBPF ee ku shaqeeya mashiinka farsamada ee gudaha gudaha Kernel-ka Linux oo u oggolow socodsiinta hawlaha shabakadda, xakamaynta gelitaanka iyo kormeerka nidaamyada. Koodhka wuxuu ku qoran yahay Go oo lagu qaybiyay shatiga Apache 2.0.

BumbleBee waxa ay suurtogal ka dhigtaa in lagu xidho barnaamijka eBPF sidii sawir weel oo ah qaabka OCI (Initiative Container Initiative), kaas oo lagu shaqayn karo nidaam kasta iyada oo aan dib loo ururin iyo isticmaalka qaybaha dheeraadka ah ee goobta isticmaalaha. Is dhexgalka koodka eBPF ee xudunta u ah, oo ay ku jirto habaynta xogta ka imanaysa maamulaha eBPF, waxa la wareegaya BumbleBee, kaas oo si toos ah u dhoofiya xogtan qaab metrik, histograms ama logs, kaas oo la geli karo, tusaale ahaan, iyadoo la isticmaalayo utility curl. Habka la soo jeediyay ayaa u ogolaanaya horumariyaha inuu diirada saaro qorista koodka eBPF oo aan lagu mashquulin abaabulka isdhexgalka koodkan laga bilaabo booska isticmaalaha, isu imaatinka iyo ku shubista kernelka.

Si loo maareeyo barnaamijyada eBPF, waxaa la bixiyaa utility-style “Shinni” Docker-style, kaas oo aad isla markiiba kala soo bixi karto maamulaha eBPF ee xiisaha kaydka dibadeed oo aad ku socodsiiso nidaamka deegaanka. Qalabka qalabku wuxuu kuu ogolaanayaa inaad abuurto qaab kood C oo loogu talagalay maamulayaasha eBPF ee mawduuc la doortay (hadda kaliya maamulayaasha shabakada iyo hawlgallada faylalka ee dhexda wicitaanada xirmooyinka shabakada iyo nidaamyada faylalka waa la taageeray). Iyada oo ku saleysan qaabka la soo saaray, horumariyuhu wuxuu si dhakhso ah u hirgelin karaa shaqeynta uu xiiseynayo.

Si ka duwan BCC (BPF Compiler Collection), BumbleBee gabi ahaanba dib uma dhisto koodhka gacanta ku haya nooc kasta oo ka mid ah kernel Linux (BCC waxay isticmaashaa ururinta duulista iyadoo la adeegsanayo Clang mar kasta oo barnaamijka eBPF la bilaabo). Si loo xalliyo dhibaatooyinka la qaadi karo, CO-RE iyo qalabyada libbpf ayaa la soo saarayaa, taas oo kuu ogolaanaysa inaad dhisto koodhka hal mar oo keliya oo aad isticmaasho xamuul caalami ah oo gaar ah kaas oo ku habboon barnaamijka la raray ee kernel-ka iyo qaabka BTF ee hadda jira. BumbleBee waa ku-darka libbpf waxayna siisaa noocyo dheeri ah oo si toos ah tarjumaada iyo soo bandhigida xogta ku taal qaabka caadiga ah ee khariidadaha eBPF RingBuffer iyo HashMap.

Si aad u dhisto barnaamijka eBPF ee ugu dambeeya oo aad u kaydiso sida sawirka OCI, kaliya ku socodsii amarka "Shinni dhis file_with_code name:nooca", iyo si aad u socodsiiso amarka "bee run name:version". Sida caadiga ah, dhacdooyinka laga helo maamulaha waxaa loo soo saari doonaa daaqada terminaalka, laakiin haddii loo baahdo, waxaad ku heli kartaa xogta adoo isticmaalaya curl ama wget utility dekedda shabakadda ee ku xiran maamulaha. Xakameeyayaasha waxaa loo qaybin karaa kaydka ku habboon OCI, tusaale ahaan, si ay u maamulaan hawl-wadeen dibadda ka ah kaydka ghcr.io (GitHub Container Registry), waxaad ku wadi kartaa amarka "bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(nooca shinni)”. Si loo geliyo maamule kaydka, amarka "shinni riix" ayaa la soo jeediyay, iyo in la xidho nooc, "bee tag".

Source: opennet.ru

Add a comment