BumbleBee - e Toolkit fir d'Schafung an d'Verdeelung vun eBPF Programmer ze vereinfachen

Solo.io, eng Firma déi Produkter entwéckelt fir Cloud Systemer, Mikroservicer, isoléiert Container a Serverlos Computing ze lafen, huet BumbleBee publizéiert, en Open Source Toolkit fir d'Virbereedung, d'Verdeelung an d'Start vun eBPF Programmer ze vereinfachen, déi an enger spezieller virtueller Maschinn bannen lafen. de Linux Kernel an erlaben Veraarbechtung Reseau Operatiounen, Kontroll Zougang a Monitor Systemer. De Code ass a Go geschriwwen a verdeelt ënner der Apache 2.0 Lizenz.

BumbleBee mécht et méiglech en eBPF Programm als Containerbild am OCI (Open Container Initiative) Format ze packen, deen op all System ouni Rekompiléierung an d'Benotzung vun zousätzleche Komponenten am Benotzerraum lafen kann. Interaktioun mam eBPF Code am Kär, inklusiv d'Veraarbechtung vun Daten aus dem eBPF Handler, gëtt vum BumbleBee iwwerholl, deen dës Donnéeën automatesch exportéiert a Form vu Metriken, Histogrammen oder Logbicher, déi zougänglech sinn, zum Beispill, mat der Curl Utility. Déi proposéiert Approche erlaabt den Entwéckler sech op eBPF Code ze schreiwen an net ofgelenkt ze ginn andeems d'Interaktioun mat dësem Code vum Benotzerraum, Assemblée a Luede an de Kernel organiséiert gëtt.

Fir eBPF Programmer ze verwalten, gëtt e Docker-Stil "Bee" Utility ugebueden, mat deem Dir den eBPF Handler vun Interesse direkt vun engem externe Repository eroflueden an op de lokale System lafen. D'Toolkit erlaabt Iech e Code Kader am C ze generéieren fir eBPF Handler vun engem ausgewielten Thema (aktuell nëmmen Handler fir Netzwierk- an Dateioperatioune, déi Uriff un de Reseau Stack an Dateiesystemer offänken, ginn ënnerstëtzt). Baséierend op de generéierte Kader kann den Entwéckler séier d'Funktionalitéit ëmsetzen, an där hien interesséiert ass.

Am Géigesaz zu BCC (BPF Compiler Collection), baut BumbleBee den Handlercode fir all Versioun vum Linux Kernel net komplett op (BCC benotzt on-the-fly Compilatioun mat Clang all Kéier wann den eBPF Programm gestart gëtt). Fir Problemer mat der Portabilitéit ze léisen, ginn d'CO-RE a libbpf Tools entwéckelt, wat Iech erlaabt Iech Code nëmmen eemol ze bauen an e speziellen Universalloader ze benotzen, deen de geluedene Programm un den aktuellen Kernel a BTF Type Format adaptéiert. BumbleBee ass en Add-on zu libbpf a bitt zousätzlech Aarte fir automatesch Interpretatioun an Affichage vun Daten an de Standard eBPF Kaartstrukturen RingBuffer an HashMap.

Fir de finalen eBPF Programm ze bauen an als OCI Bild ze späicheren, fuert just de Kommando "Bee build file_with_code name:version", a fir de Kommando "Bee Run Numm: Versioun" auszeféieren. Par défaut ginn d'Evenementer, déi vum Handler kritt ginn, an d'Terminalfenster erausginn, awer wann néideg, kënnt Dir Daten kréien andeems Dir Curl oder Wget Utilities benotzt fir den Netzhafen un den Handler gebonnen. Handler kënnen duerch OCI-kompatibel Repositories verdeelt ginn, zum Beispill, fir en externen Handler aus dem ghcr.io Repository (GitHub Container Registry) ze lafen, kënnt Dir de Kommando ausféieren "bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(Bee Versioun)". Fir en Handler am Repository ze placéieren, gëtt de Kommando "Bee Push" proposéiert, a fir eng Versioun ze binden, "Bee Tag".

Source: opennet.ru

Setzt e Commentaire