BumbleBee - un toolkit per simplificà a creazione è a distribuzione di prugrammi eBPF

Solo.io, una sucietà chì sviluppa prudutti per l'esecuzione di sistemi di nuvola, microservizi, cuntenituri isolati è informatica senza servitore, hà publicatu BumbleBee, un toolkit open source destinatu à simplificà a preparazione, a distribuzione è u lanciu di prugrammi eBPF chì funzionanu in una macchina virtuale speciale. u kernel Linux è permettenu di trasfurmà l'operazioni di a rete, cuntrollà l'accessu è monitorà i sistemi. U codice hè scrittu in Go è distribuitu sottu a licenza Apache 2.0.

BumbleBee permette di imballà un prugramma eBPF cum'è una maghjina di cuntainer in u formatu OCI (Open Container Initiative), chì pò esse eseguitu in ogni sistema senza recompilazione è l'usu di cumpunenti supplementari in u spaziu di l'utilizatori. L'interazzione cù u codice eBPF in u core, cumpresa a trasfurmazioni di dati chì venenu da u gestore eBPF, hè ripresa da BumbleBee, chì esporta automaticamente sta dati in forma di metriche, histogrammi o logs, chì ponu accede, per esempiu, utilizendu utilità curl. L'approcciu prupostu permette à u sviluppatore di fucalizza nantu à scrive u codice eBPF è ùn esse distrattu da l'urganizazione di l'interazzione cù stu codice da u spaziu di l'utilizatori, l'assemblea è a carica in u kernel.

Per gestisce i prugrammi eBPF, una utilità "bee" in stile Docker hè offerta, cù quale pudete scaricà immediatamente u gestore eBPF d'interessu da un repositoriu esternu è eseguisce nantu à u sistema lucale. U toolkit permette di generà un framework di codice in C per i gestori di eBPF di un tema selezziunatu (attualmente solu i gestori per l'operazioni di rete è di file chì interceptanu e chjama à a pila di rete è i sistemi di schedari sò supportati). Basatu nantu à u quadru generatu, u sviluppatore pò implementà rapidamente e funziunalità chì interessa.

A cuntrariu di BCC (BPF Compiler Collection), BumbleBee ùn ricustruisce micca cumplettamente u codice di gestore per ogni versione di u kernel Linux (BCC usa a compilazione on-the-fly usendu Clang ogni volta chì u prugramma eBPF hè lanciatu). Per risolve i prublemi cù a portabilità, l'arnesi CO-RE è libbpf sò sviluppati, chì permettenu di custruisce codice solu una volta è utilizate un caricatore universale speciale chì adatta u prugramma caricatu à u kernel attuale è u Formatu di Tipu BTF. BumbleBee hè un add-on à libbpf è furnisce tipi supplementari per l'interpretazione automatica è a visualizazione di dati situati in e strutture standard di carte eBPF RingBuffer è HashMap.

Per custruisce u prugramma eBPF finali è salvà cum'è una maghjina OCI, basta à eseguisce u cumandimu "bee build file_with_code name: version", è per eseguisce u cumandamentu "bee run name: version". Per automaticamente, l'avvenimenti ricivuti da u gestore seranu rializati à a finestra di u terminal, ma se ne necessariu, pudete ottene dati utilizendu l'utilità curl o wget à u portu di a rete ligata à u gestore. I gestori ponu esse distribuiti attraversu repositori compatibili OCI, per esempiu, per eseguisce un gestore esternu da u repository ghcr.io (GitHub Container Registry), pudete eseguisce u cumandimu "bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(versione ape)". Per mette un handler in u repository, u cumandamentu "bee push" hè prupostu, è per ligà una versione, "bee tag".

Source: opennet.ru

Add a comment