BumbleBee, ένα εξαιρετικό έργο για την απλοποίηση της δημιουργίας και διανομής προγραμμάτων eBPF

solo.io, η εταιρεία υπολογιστικού νέφους, μικροϋπηρεσίες, sandboxed και χωρίς διακομιστή, αποκάλυψε το έργο ανοιχτού κώδικα "BumbleBee". Το νέο έργο απλοποιεί την εμπειρία προγραμματιστή για την κατασκευή, συσκευασία και διανομή εργαλείων eBPF, σύμφωνα με τον Solo.

Μέλισσα δημιουργεί αυτόματα έναν κωδικό χώρου χρήστη επαναλαμβανόμενη ανάπτυξη εργαλείων eBPF, εξήγησε η εταιρεία. Παρέχει επίσης μια εμπειρία που μοιάζει με Docker για να συσκευάσετε ένα πρόγραμμα eBPF. Αυτό σας επιτρέπει να συνδεθείτε με άλλες ροές εργασίας εικόνας OCI για δημοσίευση και διανομή.

Σχετικά με το BumbleBee

Μέλισσα καθιστά δυνατή τη συσκευασία ενός προγράμματος eBPF ως εικόνα κοντέινερ Open Container Initiative (OCI) που μπορεί να εκτελεστεί σε οποιοδήποτε σύστημα χωρίς επαναμεταγλώττιση ή χρήση πρόσθετων στοιχείων στο χώρο χρήστη.

Η αλληλεπίδραση με τον κώδικα eBPF στον πυρήνα, συμπεριλαμβανομένης της επεξεργασίας δεδομένων που προέρχονται από τον επεξεργαστή eBPF, διαχειρίζεται η BumbleBee, η οποία εξάγει αυτόματα αυτά τα δεδομένα με τη μορφή μετρήσεων, ιστογραμμάτων ή αρχείων καταγραφής, στα οποία είναι δυνατή η πρόσβαση, για παράδειγμα, χρησιμοποιώντας το βοηθητικό πρόγραμμα μπούκλας. Η προτεινόμενη προσέγγιση επιτρέπει στον προγραμματιστή να επικεντρωθεί στη σύνταξη κώδικα eBPF και να μην αποσπάται η προσοχή οργανώνοντας την αλληλεπίδραση με αυτόν τον κώδικα από το χώρο χρήστη, τη συναρμολόγηση και τη φόρτωση στον πυρήνα.

Ο Διευθύνων Σύμβουλος του Solo.io, Η Idit Levine λέει ότι:

Η εταιρεία ανέπτυξε το BumbleBee για να δημιουργεί αυτόματα τον επαναλαμβανόμενο κώδικα χώρου χρήστη που απαιτείται για την πρόσβαση σε τεχνολογίες eBPF που εκτελούνται σε επίπεδο πυρήνα. Το BumbleBee περιλαμβάνει μια διεπαφή γραμμής εντολών (CLI) που δημιουργεί αυτόματα κώδικα χώρου χρήστη για προγράμματα eBPF εκθέτοντας αυτόματα χάρτες όπως αρχεία καταγραφής, μετρήσεις και ιστογράμματα.

Για τη διαχείριση των προγραμμάτων eBPF, παρέχεται ένα βοηθητικό πρόγραμμα "bee" τύπου Docker, με το οποίο μπορείτε να πραγματοποιήσετε άμεση λήψη του προγράμματος οδήγησης eBPF ενδιαφέροντος από ένα εξωτερικό αποθετήριο και να το εκτελέσετε στο τοπικό σύστημα.

Η εργαλειοθήκη σάς επιτρέπει να δημιουργήσετε ένα πλαίσιο κώδικα C για τα προγράμματα οδήγησης eBPF για ένα επιλεγμένο θέμα (προς το παρόν υποστηρίζονται μόνο προγράμματα οδήγησης αρχείων και δικτύου που παρεμποδίζουν κλήσεις στοίβας δικτύου και συστήματα αρχείων). Με βάση το πλαίσιο που δημιουργείται, ο προγραμματιστής μπορεί να εφαρμόσει γρήγορα τη λειτουργικότητα που τον ενδιαφέρει.

Σε αντίθεση με το BCC (BPF Compiler Collection), Το BumbleBee δεν αναδημιουργεί πλήρως τον κώδικα του προγράμματος οδήγησης για κάθε έκδοση πυρήνα Linux (Το BCC χρησιμοποιεί μεταγλώττιση εν κινήσει με Clang κάθε φορά που εκτελείται το πρόγραμμα eBPF).

Για την επίλυση προβλημάτων φορητότητας, αναπτύσσονται κιτ εργαλείων CO-RE και libbpf, που σας επιτρέπουν να μεταγλωττίσετε κώδικα μόνο μία φορά και χρησιμοποιήστε έναν ειδικό γενικό φορτωτή που προσαρμόζει το φορτωμένο πρόγραμμα στον τρέχοντα τύπο πυρήνα και BTF (μορφή τύπου BPF).

Το BumbleBee είναι ένα plug-in πάνω από το libbpf και παρέχει πρόσθετους τύπους για αυτόματη ερμηνεία και οπτικοποίηση δεδομένων που τοποθετούνται σε τυπικές δομές χαρτών RingBuffer και HashMap eBPF.

Για να δημιουργήσετε το τελικό πρόγραμμα eBPF και να το αποθηκεύσετε ως εικόνα OCI, απλώς εκτελέστε την εντολή:

bee build file_with_code name:version

Και εκτελέστε την εντολή

bee run name:version

Από προεπιλογή, τα συμβάντα που λαμβάνονται από τον ελεγκτή θα εμφανίζονται στο παράθυρο του τερματικού, αλλά εάν είναι απαραίτητο, μπορείτε να λάβετε τα δεδομένα καλώντας τα βοηθητικά προγράμματα curl ή wget στη θύρα δικτύου που είναι συνδεδεμένα με τον ελεγκτή.

Τα προγράμματα οδήγησης μπορούν να διανεμηθούν μέσω αποθετηρίων συμβατών με OCI, για παράδειγμα, για την εκτέλεση ενός εξωτερικού προγράμματος οδήγησης από το αποθετήριο ghcr.io (Μητρώο κοντέινερ GitHub), μπορείτε να εκτελέσετε την εντολή

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

Για να τοποθετήσετε τον ελεγκτή στο αποθετήριο, προσφέρεται η εντολή

bee push

Και να συνδέσω την έκδοση

bee tag

Το μεγαλύτερο πλεονέκτημα του eBPF είναι απλώς η αποτελεσματικότητα. Το συνολικό κόστος επεξεργασίας για πλατφόρμες ασφάλειας, δικτύωσης και αποθήκευσης θα πρέπει να μειωθεί καθώς περισσότεροι προμηθευτές εκμεταλλεύονται τις δυνατότητές τους. 

Τώρα, το eBPF χρησιμοποιείται ευρέως από εταιρείες κλίμακας ιστού όπως οι πάροχοι υπηρεσιών cloud. Το Facebook το χρησιμοποιεί ως τον κύριο εξισορροπητή φορτίου που καθορίζεται από το λογισμικό στα κέντρα δεδομένων του, ενώ η Google χρησιμοποιεί το λογισμικό δικτύωσης ανοιχτού κώδικα Cilium στις διαχειριζόμενες προσφορές της Kubernetes. 

Προχωρώντας, ωστόσο, ο Levine λέει ότι τώρα είναι θέμα χρόνου το eBPF να υιοθετηθεί πολύ ευρύτερα, καθώς περισσότερα λειτουργικά συστήματα επιτρέπουν τη χωρητικότητα.

Τελικά αν θέλετε να μάθετε περισσότερα για αυτό, μπορείτε να ελέγξετε τις λεπτομέρειες Στον ακόλουθο σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.