I-Solo.io, inkampani eyenza imikhiqizo yezinhlelo zamafu, ama-microservices, iziqukathi ezingazodwa, kanye ne-serverless computing, ishicilele i-BumbleBee, ikhithi yamathuluzi evulekile ehloselwe ukwenza lula ukulungiselela, ukusatshalaliswa, nokwenza lula izinhlelo ze-eBPF ezisebenza emshinini ozinikele obonakalayo ngaphakathi kwe-Linux kernel. Lezi zinhlelo ziphethe imisebenzi yenethiwekhi, ukulawula ukufinyelela, nokuqapha isistimu. Ikhodi ibhalwe ku-Go futhi ilayisensi ngaphansi kwelayisensi ye-Apache 2.0.
I-BumbleBee inika amandla ukupakisha uhlelo lwe-eBPF njengesithombe sesitsha se-OCI (Open Container Initiative), esingasetshenzwa kunoma iyiphi isistimu ngaphandle kokuhlanganiswa kabusha noma izingxenye ezengeziwe zesikhala somsebenzisi. Ukusebenzisana nekhodi ye-eBPF ku-kernel, okuhlanganisa ukucutshungulwa kwedatha evela kusiphathi se-eBPF, kuphathwa i-BumbleBee, ethumela ngokuzenzakalelayo le datha njengama-metrics, histograms, noma amalogi, angafinyelelwa, isibonelo, kusetshenziswa insiza ye-curl. Le ndlela ivumela umthuthukisi ukuthi agxile ekubhaleni ikhodi ye-eBPF futhi angaphazanyiswa isidingo sokusebenzisana nale khodi kusuka esikhaleni somsebenzisi, ukuyakha, nokuyifaka ku-kernel.
Ngokuphatha izinhlelo ze-eBPF, kuhlinzekwa insiza yesitayela se-Docker ebizwa ngokuthi "bee". Ikuvumela ukuthi ulande ngokushesha isibambi se-eBPF osithandayo endaweni yokugcina yangaphandle bese usiqhuba kusistimu yendawo. Ikhithi yamathuluzi ikuvumela ukuthi ukhiqize uhlaka lwamathambo ekhodi C labaphathi be-eBPF esihlokweni esinikeziwe (okwamanje, kuphela izibambi zokusebenza kwenethiwekhi nefayela, ezibamba isitaki senethiwekhi nezingcingo zesistimu yefayela, ezisekelwayo). Ngokusebenzisa lolu hlaka lwamathambo, umthuthukisi angakwazi ukusebenzisa ngokushesha umsebenzi awufisayo.
Ngokungafani ne-BCC (Iqoqo Lenhlanganisela Ye-BPF), i-BumbleBee ayibuyiseli ngokuphelele ikhodi yesibambi yenguqulo ngayinye ye-Linux kernel (i-BCC isebenzisa ukuhlanganiswa okusephepheni ne-Clang isikhathi ngasinye lapho kwethulwa uhlelo lwe-eBPF). Ukuze kubhekwane nezinkinga zokuphatheka, amaketanga e-CO-RE kanye ne-libbpf ayathuthukiswa, okuvumela ukuhlanganiswa okukodwa kanye nokusetshenziswa kwesilayishi sendawo yonke esikhethekile esivumelanisa uhlelo olulayishiwe kuzinhlobo zamanje ze-kernel kanye ne-BTF (ifomethi yohlobo lwe-BPF). I-BumbleBee i-libbpf wrapper futhi inikeza izinhlobo ezengeziwe zokuhumusha ngokuzenzakalelayo kanye nokubonisa idatha egcinwe ezakhiweni ezijwayelekile zemephu ye-eBPF, i-RingBuffer ne-HashMap.
Ukuze wakhe uhlelo lokugcina lwe-eBPF futhi ululondoloze njengesithombe se-OCI, vele usebenzise okuthi "bee build code_file name:version" kanye "negama le-bee run:version" ukuze uliqalise. Ngokuzenzakalelayo, imicimbi etholwe kusibambi izokhishelwa efasiteleni letheminali, kodwa ungakwazi ukubuyisa idatha ngokusebenzisa i-curl noma i-wget embobeni yenethiwekhi eboshelwe kusibambi. Izibambi zingasatshalaliswa ngamakhosombe ahambisana ne-OCI. Isibonelo, ukuze uqalise isibambi sangaphandle kusuka kunqolobane ye-ghcr.io (GitHub Container Registry), ungasebenzisa okuthi "bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)". Ukuze usunduze isibambi endaweni yokugcina, sebenzisa "i-bee push" futhi ukumaka inguqulo, sebenzisa "ithegi yezinyosi".
Source: opennet.ru
