BumbleBee, een uitstekend project om de creatie en distributie van eBPF-programma's te vereenvoudigen

solo.io, het cloudcomputingbedrijf, microservices, sandboxed en serverloos, onthulde het open source-project "BumbleBee". Het nieuwe project vereenvoudigt de ervaring van de ontwikkelaar eBPF-tools bouwen, verpakken en distribueren, aldus Solo.

Hommel genereert automatisch een gebruikersruimtecode boilerplate om eBPF-tools te ontwikkelen, legde het bedrijf uit. Het biedt ook een Docker-achtige ervaring om een ​​eBPF-programma te verpakken. Hierdoor kunt u verbinding maken met andere OCI-beeldworkflows voor publicatie en distributie.

Over BumbleBee

Hommel maakt het mogelijk om een ​​eBPF-programma als containerimage te verpakken van het Open Container Initiative (OCI) dat op elk systeem kan draaien zonder opnieuw te compileren of extra componenten te gebruiken in gebruikersruimte.

Interactie met de eBPF-code in de kernel, inclusief de verwerking van gegevens afkomstig van de eBPF-processor, wordt afgehandeld door BumbleBee, die deze gegevens automatisch exporteert in de vorm van metrieken, histogrammen of logs, die bijvoorbeeld toegankelijk zijn met het curl-hulpprogramma. De voorgestelde aanpak stelt de ontwikkelaar in staat zich te concentreren op het schrijven van eBPF-code. en laat je niet afleiden door interactie met deze code te organiseren vanuit de gebruikersruimte, montage en het laden in de kernel.

De CEO van Solo.io, Idit Levine zegt dat:

Het bedrijf heeft BumbleBee ontwikkeld om automatisch de standaardgebruikersruimtecode te genereren die nodig is om toegang te krijgen tot eBPF-technologieën die op kernelniveau worden uitgevoerd. BumbleBee bevat een opdrachtregelinterface (CLI) die automatisch gebruikersruimtecode genereert voor eBPF-programma's door kaarten zoals logs, metrieken en histogrammen automatisch weer te geven.

Om eBPF-programma's te beheren, er wordt een "bee"-hulpprogramma in Docker-stijl meegeleverd, waarmee u het eBPF-stuurprogramma onmiddellijk kunt downloaden van belang uit een externe repository en voer het uit op het lokale systeem.

Met de toolkit kunt u een C-coderaamwerk genereren voor de eBPF-stuurprogramma's van een geselecteerd thema (momenteel worden alleen bestands- en netwerkstuurprogramma's ondersteund die oproepen naar de netwerkstack en bestandssystemen onderscheppen). Op basis van het gegenereerde framework kan de ontwikkelaar snel de functionaliteit implementeren die hem interesseert.

In tegenstelling tot BCC (BPF Compiler Collection), BumbleBee herbouwt de stuurprogrammacode niet volledig voor elke kernelversie Linux (BCC gebruikt on-the-fly compilatie met Clang elke keer dat het eBPF-programma wordt uitgevoerd).

Om draagbaarheidsproblemen op te lossen, zijn in ontwikkeling de gereedschapskisten CO-RE en libbpf, waarmee je de code één keer kunt compileren en gebruik een speciale universele lader die het geladen programma aanpast aan de huidige kernel- en BTF-typen (BPF Type Format).

BumbleBee is een plug-in bovenop libbpf en biedt extra typen voor automatische interpretatie en weergave van gegevens die in standaard RingBuffer- en HashMap eBPF-kaartstructuren zijn geplaatst.

Om het uiteindelijke eBPF-programma te bouwen en op te slaan als een OCI-afbeelding, voert u eenvoudig de opdracht uit:

bee build file_with_code name:version

En voer de opdracht uit

bee run name:version

Standaard worden gebeurtenissen die van de controller zijn ontvangen weergegeven in het terminalvenster, maar indien nodig kunt u de gegevens ophalen door de curl- of wget-hulpprogramma's op de netwerkpoort aan te roepen die aan de controller is gekoppeld.

Stuurprogramma's kunnen worden gedistribueerd via OCI-compatibele opslagplaatsen, om bijvoorbeeld een extern stuurprogramma uit de ghcr.io (GitHub Container Registry)-repository uit te voeren, kunt u de opdracht uitvoeren

bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)

Om de controller in de repository te plaatsen, wordt het commando aangeboden

bee push

En om de versie te linken

bee tag

Het grootste voordeel van eBPF is simpelweg efficiëntie. De totale verwerkingskosten voor beveiligings-, netwerk- en opslagplatforms zouden moeten dalen naarmate meer providers profiteren van hun mogelijkheden. 

Op dit moment, eBPF wordt veel gebruikt door bedrijven op internetschaal, zoals cloudserviceproviders. Facebook gebruikt het als de belangrijkste softwaregedefinieerde load balancer in zijn datacenters, terwijl Google open source Cilium-netwerksoftware gebruikt binnen zijn beheerde Kubernetes-aanbod. 

In de toekomst zegt Levine echter dat het nu slechts een kwestie van tijd is voordat eBPF veel breder wordt toegepast naarmate meer besturingssystemen deze mogelijkheid mogelijk maken.

Eindelijk als je er meer over wilt weten, kunt u de details bekijken In de volgende link.


Laat je reactie achter

Uw e-mailadres wordt niet gepubliceerd. Verplichte velden zijn gemarkeerd met *

*

*

  1. Verantwoordelijk voor de gegevens: AB Internet Networks 2008 SL
  2. Doel van de gegevens: Controle SPAM, commentaarbeheer.
  3. Legitimatie: uw toestemming
  4. Mededeling van de gegevens: De gegevens worden niet aan derden meegedeeld, behalve op grond van wettelijke verplichting.
  5. Gegevensopslag: database gehost door Occentus Networks (EU)
  6. Rechten: u kunt uw gegevens op elk moment beperken, herstellen en verwijderen.