BumbleBee - yon bwat zouti pou senplifye kreyasyon ak distribisyon pwogram eBPF

Solo.io, yon konpayi k ap devlope pwodwi pou sistèm nwaj, mikrosèvis, kontenè izole, ak informatique san sèvè, pibliye twous zouti BumbleBee sous ouvè a, ki vize senplifye preparasyon, distribisyon, ak ekzekisyon pwogram eBPF k ap fonksyone nan yon machin vityèl espesyal andedan nwayo a. Linux epi pèmèt operasyon rezo pwosesis, kontwòl aksè, ak siveyans sistèm. Kòd la ekri nan Go epi li distribye anba lisans Apache 2.0 la.

BumbleBee fè li posib pou pake yon pwogram eBPF kòm yon imaj veso nan fòma OCI (Open Container Initiative), ki ka kouri sou nenpòt sistèm san yo pa rekonpilasyon ak itilizasyon eleman adisyonèl nan espas itilizatè. Entèraksyon ak kòd eBPF nan nwayo a, ki gen ladan pwosesis done ki soti nan moun k ap okipe eBPF a, se BumbleBee ki pran sou, ki otomatikman ekspòte done sa yo nan fòm metrik, istogram oswa mòso bwa, ki ka jwenn aksè, pou egzanp, lè l sèvi avèk la. boukl sèvis piblik. Apwòch yo pwopoze a pèmèt pwomotè a konsantre sou ekri kòd eBPF epi yo pa distrè pa òganize entèraksyon ak kòd sa a soti nan espas itilizatè, asanble ak chaje nan nwayo a.

Pou jere pwogram eBPF, yo ofri yon sèvis piblik Docker-style "myèl", ak ki ou ka imedyatman telechaje moun kap okipe eBPF ki enterese nan yon depo ekstèn epi kouri li sou sistèm lokal la. Zouti a pèmèt ou jenere yon fondasyon kòd nan C pou moun k ap okipe eBPF nan yon sijè chwazi (kounye a se sèlman moun k ap okipe rezo ak operasyon dosye ki entèsepte apèl nan pil rezo a ak sistèm dosye yo sipòte). Ki baze sou fondasyon an pwodwi, pwomotè a ka byen vit aplike fonksyonalite li enterese nan.

Kontrèman ak BCC (BPF Compiler Collection), BumbleBee pa fè yon rekonstriksyon konplè kòd handler a pou chak vèsyon kernel la. Linux (BCC itilize konpilasyon sou plas avèk Clang chak fwa yon pwogram eBPF egzekite.) Pou adrese pwoblèm portabilite, y ap devlope twous zouti CO-RE ak libbpf yo, sa ki pèmèt konpile kòd la yon sèl fwa epi itilize yon loader inivèsèl espesyal ki adapte pwogram ki chaje a ak nwayo aktyèl la ak kalite BTF (BPF Type Format). BumbleBee se yon ekstansyon libbpf epi li bay lòt kalite pou entèprete ak montre otomatikman done ki estoke nan estrikti kat eBPF estanda yo, RingBuffer ak HashMap.

Pou konstwi pwogram eBPF final la epi sove li kòm yon imaj OCI, jis kouri kòmandman "bee build file_with_code name:version", epi kouri kòmandman "bee run name:version". Pa default, evènman yo resevwa nan men moun k ap okipe a pral soti nan fenèt tèminal la, men si sa nesesè, ou ka jwenn done lè w sèvi ak sèvis piblik curl oswa wget nan pò rezo ki mare nan moun k ap okipe a. Moun kap okipe yo ka distribye atravè depo OCI-konpatib, pou egzanp, pou kouri yon moun kap okipe ekstèn soti nan depo ghcr.io (GitHub Container Registry), ou ka kouri lòd "bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(vèsyon myèl)". Pou mete yon moun kap okipe nan depo a, yo pwopoze kòmandman "bee push" la, epi mare yon vèsyon, "bee tag".

Sous: opennet.ru

Achte hosting serye pou sit ki gen pwoteksyon DDoS, sèvè VPS VDS 🔥 Achte yon hébergement sit entènèt serye ak pwoteksyon DDoS, sèvè VPS VDS | ProHoster