I-BumbleBee - ikhithi yamathuluzi yokwenza lula ukudalwa nokusatshalaliswa kwezinhlelo ze-eBPF

I-Solo.io, inkampani ethuthukisa imikhiqizo yokusebenzisa izinhlelo zamafu, ama-microservices, iziqukathi ezingazodwa kanye ne-serverless computing, ishicilele i-BumbleBee, ithuluzi lomthombo ovulekile elihloselwe ukwenza lula ukulungiselela, ukusatshalaliswa kanye nokwethulwa kwezinhlelo ze-eBPF ezisebenza ngomshini okhethekile ongaphakathi. i-Linux kernel futhi uvumele ukucubungula ukusebenza kwenethiwekhi, lawula ukufinyelela nokuqapha amasistimu. Ikhodi ibhalwe ku-Go futhi isatshalaliswa ngaphansi kwelayisensi ye-Apache 2.0.

I-BumbleBee yenza kube nokwenzeka ukupakisha uhlelo lwe-eBPF njengesithombe sesiqukathi ngefomethi ye-OCI (Open Container Initiative), engasebenza kunoma iyiphi isistimu ngaphandle kokuhlanganiswa kanye nokusetshenziswa kwezingxenye ezengeziwe endaweni yomsebenzisi. Ukusebenzisana nekhodi ye-eBPF emaphakathi, okuhlanganisa ukucutshungulwa kwedatha evela kusiphathi se-eBPF, kuthathwa i-BumbleBee, ethumela ngokuzenzakalelayo le datha ngesimo samamethrikhi, ama-histograms noma amalogi, angafinyelelwa, isibonelo, kusetshenziswa utility curl. Indlela ehlongozwayo ivumela umthuthukisi ukuthi agxile ekubhaleni ikhodi ye-eBPF futhi angaphazanyiswa ngokuhlela ukusebenzisana nale khodi kusuka endaweni yomsebenzisi, ukuhlanganisa kanye nokulayisha ku-kernel.

Ukuze uphathe izinhlelo ze-eBPF, kunikezwa insiza yesitayela se-Docker "yezinyosi", ongakwazi ukulanda ngayo isibambi se-eBPF esithakaselayo endaweni yokugcina yangaphandle bese uyiqhuba ohlelweni lwasendaweni. Ikhithi yamathuluzi ikuvumela ukuthi ukhiqize uhlaka lwekhodi ku-C lweziphathi ze-eBPF zesihloko esikhethiwe (okwamanje kuphela izibambi zenethiwekhi nokusebenza kwefayela elibamba amakholi kusitaki senethiwekhi futhi kuyasekelwa izinhlelo zamafayela). Ngokusekelwe kuhlaka olukhiqiziwe, unjiniyela angaqalisa ngokushesha ukusebenza anentshisekelo kukho.

Ngokungafani ne-BCC (Iqoqo Lenhlanganisela Ye-BPF), i-BumbleBee ayakhi kabusha ngokuphelele ikhodi yesibambi yenguqulo ngayinye ye-Linux kernel (i-BCC isebenzisa ukuhlanganiswa okutholakala lapho undiza kusetshenziswa i-Clang njalo lapho kwethulwa uhlelo lwe-eBPF). Ukuze kuxazululwe izinkinga ngokuphatheka, amathuluzi e-CO-RE kanye ne-libbpf ayathuthukiswa, okukuvumela ukuthi wakhe ikhodi kanye kuphela futhi usebenzise isilayishi sendawo yonke esikhethekile esivumelanisa uhlelo olulayishiwe ku-kernel yamanje kanye nefomethi yohlobo lwe-BTF. I-BumbleBee iyisengezo ku-libbpf futhi inikeza izinhlobo ezengeziwe zokuhumusha okuzenzakalelayo nokuboniswa kwedatha etholakala ezakhiweni ezijwayelekile zemephu ye-eBPF i-RingBuffer ne-HashMap.

Ukuze wakhe uhlelo lokugcina lwe-eBPF futhi ulugcine njengesithombe se-OCI, vele usebenzise umyalo othi “bee build file_with_code name:version”, bese uqhuba umyalo othi “bee run name:version”. Ngokuzenzakalelayo, imicimbi etholwe kusiphathi izokhishelwa efasiteleni letheminali, kodwa uma kudingeka, ungathola idatha ngokusebenzisa izinsiza ze-curl noma ze-wget embobeni yenethiwekhi eboshelwe kusibambi. Izibambi zingasatshalaliswa ngamakhosombe ahambisana ne-OCI, isibonelo, ukusebenzisa isibambi sangaphandle kusuka endaweni ye-ghcr.io (GitHub Container Registry), ungasebenzisa umyalo othi “bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(inguqulo yezinyosi)". Ukubeka isibambi endaweni yokugcina, umyalo othi "bee push" uyahlongozwa, futhi ukubopha inguqulo, "ithegi yezinyosi".

Source: opennet.ru

Engeza amazwana