BumbleBee - toolkit kanggo nyederhanakake nggawe lan distribusi program eBPF

Solo.io, perusahaan sing ngembangake produk kanggo sistem maya, layanan mikro, wadhah terisolasi lan komputasi tanpa server, wis nerbitake BumbleBee, toolkit open source sing tujuane nyederhanakake persiapan, distribusi lan peluncuran program eBPF sing mlaku ing mesin virtual khusus ing njero. kernel Linux lan ngidini operasi jaringan pangolahan, akses kontrol lan sistem monitor. Kode kasebut ditulis ing Go lan disebarake miturut lisensi Apache 2.0.

BumbleBee ndadekake iku bisa kanggo paket program eBPF minangka gambar wadhah ing format OCI (Open Container Initiative), kang bisa mbukak ing sembarang sistem tanpa recompilation lan nggunakake komponen tambahan ing papan pangguna. Interaksi karo kode eBPF ing inti, kalebu pangolahan data sing teka saka pawang eBPF, dijupuk dening BumbleBee, sing kanthi otomatis ngekspor data iki ing wangun metrik, histogram utawa log, sing bisa diakses, contone, nggunakake utilitas curl. Pendekatan sing diusulake ngidini pangembang fokus ing nulis kode eBPF lan ora bakal diganggu kanthi ngatur interaksi karo kode iki saka ruang pangguna, perakitan lan muat menyang kernel.

Kanggo ngatur program eBPF, utilitas "tawon" gaya Docker ditawakake, kanthi sampeyan bisa langsung ndownload pawang kapentingan eBPF saka panyimpenan eksternal lan mbukak ing sistem lokal. Toolkit ngijini sampeyan kanggo generate framework kode ing C kanggo pawang eBPF topik sing dipilih (saiki mung pawang kanggo jaringan lan operasi file sing nyegat telpon kanggo tumpukan jaringan lan sistem file didhukung). Adhedhasar kerangka sing digawe, pangembang bisa kanthi cepet ngleksanakake fungsi sing dikarepake.

Ora kaya BCC (BPF Compiler Collection), BumbleBee ora mbangun maneh kode handler kanggo saben versi kernel Linux (BCC nggunakake kompilasi on-the-fly nggunakake Clang saben program eBPF diluncurake). Kanggo ngatasi masalah portabilitas, alat CO-RE lan libbpf dikembangake, ngidini sampeyan nggawe kode mung sapisan lan nggunakake loader universal khusus sing nyesuekake program sing dimuat menyang kernel saiki lan Format Tipe BTF. BumbleBee minangka tambahan kanggo libbpf lan nyedhiyakake jinis tambahan kanggo interpretasi otomatis lan tampilan data sing ana ing struktur peta eBPF standar RingBuffer lan HashMap.

Kanggo mbangun program eBPF final lan nyimpen minangka gambar OCI, mung mbukak printah "tawon mbangun file_with_code jeneng: versi", lan kanggo mbukak printah "tawon run jeneng: versi". Kanthi gawan, acara sing ditampa saka pawang bakal metu menyang jendhela terminal, nanging yen perlu, sampeyan bisa njupuk data kanthi nggunakake curl utawa wget utilitas menyang port jaringan sing disambungake menyang pawang. Handler bisa disebarake liwat repositori sing kompatibel karo OCI, contone, kanggo mbukak handler eksternal saka gudang ghcr.io (GitHub Container Registry), sampeyan bisa mbukak printah "bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(versi tawon)”. Kanggo nyeleh handler ing repositori, printah "tawon push" ngajokaken, lan kanggo ikatan versi, "tawon tag".

Source: opennet.ru

Add a comment