BumbleBee - sesebelisoa sa ho nolofatsa tlhahiso le kabo ea mananeo a eBPF

Solo.io, k'hamphani e hlahisang lihlahisoa tsa ho tsamaisa lits'ebetso tsa maru, li-microservices, lijana tse ka thoko le komporo e se nang seva, e phatlalalitse BumbleBee, sesebelisoa sa mohloli o bulehileng se reretsoeng ho nolofatsa ho lokisoa, ho ajoa le ho qala mananeo a eBPF a sebetsang ka mochini o ikhethileng o kahare. Linux kernel le ho lumella ho sebetsana le lits'ebetso tsa marang-rang, ho laola phihlello le lits'ebetso tsa ho beha leihlo. Khoutu e ngotsoe ho Go mme e ajoa tlasa laesense ea Apache 2.0.

BumbleBee e etsa hore ho khonehe ho paka lenaneo la eBPF e le setšoantšo sa setshelo ka sebopeho sa OCI (Open Container Initiative), se ka tsamaisoang ho sistimi efe kapa efe ntle le ho bokelloa hape le tšebeliso ea likarolo tse ling sebakeng sa mosebelisi. Ho sebelisana le khoutu ea eBPF ho mantlha, ho kenyelletsa ts'ebetso ea data e tsoang ho mohlokomeli oa eBPF, e nkuoa ke BumbleBee, e romellang data ena ka bo eona ka mokhoa oa metrics, histograms kapa logs, tse ka fihlellehang, mohlala, ka ho sebelisa sesebelisoa sa curl. Mokhoa o reriloeng o lumella moqapi hore a tsepamise maikutlo ho ngola khoutu ea eBPF mme a se ke a sitisoa ke ho hlophisa tšebelisano le khoutu ena ho tloha sebakeng sa mosebelisi, kopano le ho kenya kernel.

Ho tsamaisa mananeo a eBPF, ho fanoa ka sesebelisoa sa "bee" sa mofuta oa Docker, seo ka sona u ka khoasollang sebatli sa eBPF sa thahasello sebakeng sa polokelo ea kantle ebe u se tsamaisa tsamaisong ea lehae. Setsi sa lithulusi se u lumella ho hlahisa moralo oa khoutu ho C bakeng sa bahlokomeli ba eBPF ba sehlooho se khethiloeng (hona joale ke bahlokomeli feela ba ts'ebetso ea marang-rang le ea lifaele tse thibelang li-call ho stack ea marang-rang le mekhoa ea lifaele e tšehetsoeng). Ho itšetlehile ka moralo o hlahisitsoeng, moqapi a ka potlakela ho kenya ts'ebetsong ts'ebetso eo a e thahasellang.

Ho fapana le BCC (BPF Compiler Collection), BumbleBee ha e tsosolose khoutu ea ho sebetsana ka botlalo bakeng sa mofuta o mong le o mong oa Linux kernel (BCC e sebelisa ho kopanya ha sefofane ho sebelisa Clang nako le nako ha lenaneo la eBPF le qalisoa). Ho rarolla mathata a ho nkeha, lisebelisoa tsa CO-RE le libbpf li ntse li ntlafatsoa, ​​​​tse u lumellang hore u hahe khoutu hanngoe feela 'me u sebelise mochine o khethehileng oa bokahohle o fetolang lenaneo le laetsoeng ho kernel ea hona joale le Format ea Mofuta oa BTF. BumbleBee ke tlatsetso ho libbpf mme e fana ka mefuta e meng bakeng sa ho toloka ka boiketsetso le ho bonts'a data e fumanehang meahong e tloaelehileng ea 'mapa oa eBPF RingBuffer le HashMap.

Ho haha ​​​​lenaneo la ho qetela la eBPF le ho le boloka e le setšoantšo sa OCI, tsamaisa feela taelo "bee build file_with_code name:version", le ho tsamaisa taelo ea "bee run name:version". Ka nako e sa lekanyetsoang, liketsahalo tse amohetsoeng ho tsoa ho mohlokomeli li tla hlahisoa fensetereng ea terminal, empa ha ho hlokahala, o ka fumana data ka ho sebelisa lisebelisoa tsa curl kapa wget ho boema-kepe ba marang-rang bo tlameletsoeng ho mohlokomeli. Lits'oants'o li ka ajoa ka libaka tsa polokelo tse lumellanang le OCI, mohlala, ho tsamaisa sebatli sa kantle ho polokelo ea ghcr.io (GitHub Container Registry), o ka tsamaisa taelo ea "bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(mofuta oa notši)". Ho beha mohlokomeli sebakeng sa polokelo, taelo ea "bee push" e hlahisoa, le ho tlama phetolelo, "tag ea bee".

Source: opennet.ru

Eketsa ka tlhaloso