BumbleBee - inneal gus cruthachadh agus cuairteachadh phrògraman eBPF a dhèanamh nas sìmplidhe

Tha Solo.io, companaidh a bhios a’ leasachadh thoraidhean airson a bhith a’ ruith siostaman sgòthan, microservices, soithichean iomallach agus coimpiutaireachd gun fhrithealaiche, air BumbleBee fhoillseachadh, inneal stòr fosgailte a tha ag amas air ullachadh, cuairteachadh agus cur air bhog phrògraman eBPF a bhios a’ ruith ann an inneal brìgheil sònraichte a-staigh a dhèanamh nas sìmplidhe. an kernel Linux agus a’ ceadachadh gnìomhachd lìonra giullachd, smachd a chumail air ruigsinneachd agus sùil a chumail air siostaman. Tha an còd sgrìobhte ann an Go agus air a chuairteachadh fo chead Apache 2.0.

Tha BumbleBee ga dhèanamh comasach prògram eBPF a phacadh mar ìomhaigh soithich ann an cruth OCI (Open Container Initiative), a ghabhas ruith air siostam sam bith gun ath-chruinneachadh agus cleachdadh co-phàirtean a bharrachd ann an àite luchd-cleachdaidh. Tha eadar-obrachadh leis a’ chòd eBPF sa chridhe, a’ gabhail a-steach giullachd dàta a’ tighinn bhon neach-làimhseachaidh eBPF, air a ghabhail thairis le BumbleBee, a bhios gu fèin-obrachail às-mhalairt an dàta seo ann an cruth meatrach, histograman no logaichean, a gheibhear thuige, mar eisimpleir, a’ cleachdadh an goireas curl. Tha an dòigh-obrach a thathar a’ moladh a’ leigeil leis an leasaiche fòcas a chuir air sgrìobhadh còd eBPF agus gun a bhith air a tharraing le bhith a’ cur air dòigh eadar-obrachadh leis a’ chòd seo bho àite luchd-cleachdaidh, co-chruinneachadh agus luchdachadh a-steach don kernel.

Gus prògraman eBPF a riaghladh, tha goireas “seillean” ann an stoidhle Docker air a thabhann, leis an urrainn dhut inneal-làimhseachaidh ùidh eBPF a luchdachadh sìos sa bhad bho stòr a-muigh agus a ruith air an t-siostam ionadail. Leigidh an inneal leat frèam còd a ghineadh ann an C airson luchd-làimhseachaidh eBPF de chuspair taghte (an-dràsta chan eil ann ach luchd-làimhseachaidh airson gnìomhachd lìonra agus faidhle a chuireas stad air fiosan gu stac an lìonraidh agus tha siostaman faidhle a’ faighinn taic). Stèidhichte air an fhrèam a chaidh a chruthachadh, faodaidh an leasaiche an gnìomh anns a bheil ùidh aige a chuir an gnìomh gu sgiobalta.

Eu-coltach ri BCC (BPF Compiler Collection), chan eil BumbleBee gu tur ag ath-thogail a’ chòd làimhseachaidh airson gach dreach den kernel Linux (bidh BCC a’ cleachdadh cruinneachadh air-the-fly a’ cleachdadh Clang a h-uile uair a thèid am prògram eBPF a chuir air bhog). Gus fuasgladh fhaighinn air duilgheadasan le comas giùlain, thathas a’ leasachadh na h-innealan CO-RE agus libbpf, a’ toirt cothrom dhut còd a thogail dìreach aon turas agus luchdan uile-choitcheann sònraichte a chleachdadh a dh’ atharraicheas am prògram luchdaichte a-steach don kernel gnàthach agus Cruth Seòrsa BTF. Tha BumbleBee na chur-ris gu libbpf agus a’ toirt seachad seòrsaichean a bharrachd airson mìneachadh fèin-ghluasadach agus taisbeanadh dàta a tha suidhichte ann an structaran mapa eBPF àbhaisteach RingBuffer agus HashMap.

Gus am prògram eBPF mu dheireadh a thogail agus a shàbhaladh mar ìomhaigh OCI, dìreach ruith an àithne “bee build file_with_code name: version”, agus gus an àithne “bee run name: version” a ruith. Gu gnàthach, thèid tachartasan a gheibhear bhon neach-làimhseachaidh a chuir a-mach gu uinneag a’ chrìoch, ach ma tha sin riatanach, faodaidh tu dàta fhaighinn le bhith a ’cleachdadh goireasan curl no wget chun phort lìonra a tha ceangailte ris an inneal-làimhseachaidh. Faodar luchd-làimhseachaidh a sgaoileadh tro stòran a tha co-chosmhail ri OCI, mar eisimpleir, gus inneal-làimhseachaidh taobh a-muigh a ruith bhon stòr ghcr.io (Clàr-gleidhidh GitHub), faodaidh tu an àithne “bee run ghcr.io/solo-io/bumblebee/tcpconnect: $ (dreach seillean)". Gus inneal-làimhseachaidh a chuir san stòr, thathar a’ moladh an àithne “bee push”, agus dreach a cheangal, “bee tag”.

Source: fosgailtenet.ru

Cuir beachd ann