BumbleBee, un excellent projet pour simplifier la création et la distribution des programmes eBPF

solo.io, la société de cloud computing, les microservices, en bac à sable et sans serveur, a dévoilé le projet open source "BumbleBee". Le nouveau projet simplifie l'expérience des développeurs pour construire, empaqueter et distribuer les outils eBPF, selon Solo.

Bourdon génère automatiquement un code d'espace utilisateur passe-partout pour développer des outils eBPF, a expliqué la société. Il fournit également une expérience de type Docker pour empaqueter un programme eBPF. Cela vous permet de vous connecter à d'autres workflows d'image OCI pour la publication et la distribution.

À propos de Bourdon

Bourdon permet de packager un programme eBPF sous forme d'image conteneur de l'Open Container Initiative (OCI) qui peut fonctionner sur n'importe quel système sans recompiler ni utiliser de composants supplémentaires dans l'espace utilisateur.

L'interaction avec le code eBPF dans le noyau, y compris le traitement des données provenant du processeur eBPF, est assurée par BumbleBee, qui exporte automatiquement ces données sous forme de métriques, d'histogrammes ou de journaux, accessibles par exemple à l'aide de l'utilitaire curl. L'approche proposée permet au développeur de se concentrer sur l'écriture du code eBPF. et ne pas se laisser distraire en organisant l'interaction avec ce code depuis l'espace utilisateur, l'assemblage et le chargement dans le noyau.

Le PDG de Solo.io, Idit Levine dit que :

La société a développé BumbleBee pour générer automatiquement le code standard de l'espace utilisateur requis pour accéder aux technologies eBPF qui s'exécutent au niveau du noyau. BumbleBee inclut une interface de ligne de commande (CLI) qui génère automatiquement du code d'espace utilisateur pour les programmes eBPF en exposant automatiquement des cartes telles que des journaux, des métriques et des histogrammes.

Pour gérer les programmes eBPF, un utilitaire "bee" de style Docker est fourni, avec lequel vous pouvez immédiatement télécharger le pilote eBPF d'intérêt à partir d'un référentiel externe et exécutez-le sur le système local.

La boîte à outils vous permet de générer un cadre de code C pour les pilotes eBPF d'un sujet sélectionné (actuellement, seuls les pilotes de fichiers et de réseau qui interceptent les appels vers la pile réseau et les systèmes de fichiers sont pris en charge). Sur la base du framework généré, le développeur peut implémenter rapidement la fonctionnalité qui l'intéresse.

Contrairement à BCC (BPF Compiler Collection), BumbleBee ne reconstruit pas entièrement le code du pilote pour chaque version du noyau Linux (BCC utilise la compilation à la volée avec Clang à chaque fois que le programme eBPF est exécuté).

Pour résoudre les problèmes de portabilité, se développent les trousses à outils CO-RE et libbpf, qui vous permettent de compiler le code une seule fois et utiliser un chargeur universel spécial qui adapte le programme chargé au noyau actuel et aux types BTF (BPF Type Format).

BumbleBee est un plug-in au-dessus de libbpf et fournit des types supplémentaires pour l'interprétation et l'affichage automatiques des données placées dans les structures de carte standard eBPF RingBuffer et HashMap.

Pour créer le programme eBPF final et l'enregistrer en tant qu'image OCI, exécutez simplement la commande :

bee build file_with_code name:version

Et exécutez la commande

bee run name:version

Par défaut, les événements reçus du contrôleur seront affichés dans la fenêtre du terminal, mais si nécessaire, vous pouvez obtenir les données en appelant les utilitaires curl ou wget sur le port réseau lié au contrôleur.

Les pilotes peuvent être distribués via des référentiels compatibles OCI, par exemple, pour exécuter un pilote externe à partir du référentiel ghcr.io (GitHub Container Registry), vous pouvez exécuter la commande

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

Pour mettre le contrôleur dans le référentiel, la commande est proposée

bee push

Et pour lier la version

bee tag

Le plus grand avantage d'eBPF est simplement l'efficacité. Le coût total de traitement pour les plates-formes de sécurité, de mise en réseau et de stockage devrait diminuer à mesure que davantage de fournisseurs tirent parti de leurs capacités. 

Maintenant, eBPF est largement utilisé par les entreprises à l'échelle du Web telles que les fournisseurs de services cloud. Facebook l'utilise comme principal équilibreur de charge défini par logiciel dans ses centres de données, tandis que Google utilise le logiciel de mise en réseau open source Cilium dans ses offres Kubernetes gérées. 

À l'avenir, cependant, Levine dit que ce n'est plus qu'une question de temps avant que l'eBPF ne devienne beaucoup plus largement adopté car davantage de systèmes d'exploitation permettent cette capacité.

Enfin si vous voulez en savoir plus, vous pouvez vérifier les détails dans le lien suivant.


Soyez le premier à commenter

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.