BumbleBee - toolkit pikeun nyederhanakeun kreasi sareng distribusi program eBPF

Solo.io, perusahaan anu ngembangkeun produk pikeun ngajalankeun sistem awan, jasa mikro, wadah terasing sareng komputasi tanpa server, parantos nyebarkeun BumbleBee, toolkit open source anu ditujukeun pikeun nyederhanakeun persiapan, distribusi sareng peluncuran program eBPF anu dijalankeun dina mesin virtual khusus di jero. kernel Linux Ubuntu jeung ngidinan ngolah operasi jaringan, kontrol aksés jeung sistem monitor. Kodeu ditulis dina Go sareng disebarkeun dina lisénsi Apache 2.0.

BumbleBee ngamungkinkeun pikeun ngarangkep program eBPF salaku gambar wadahna dina format OCI (Open Container Initiative), anu tiasa dijalankeun dina sistem naon waé tanpa kompilasi sareng panggunaan komponén tambahan dina rohangan pangguna. Interaksi sareng kode eBPF dina inti, kalebet ngolah data anu asalna tina pawang eBPF, direbut ku BumbleBee, anu otomatis ngékspor data ieu dina bentuk métrik, histogram atanapi log, anu tiasa diakses, contona, nganggo utilitas curl. Pendekatan anu diusulkeun ngamungkinkeun pamekar pikeun fokus dina nulis kode eBPF sareng henteu kaganggu ku ngatur interaksi sareng kode ieu tina rohangan pangguna, rakitan sareng ngamuat kana kernel.

Pikeun ngatur program eBPF, ditawarkeun utilitas "nyiruan" gaya Docker, dimana anjeun tiasa langsung ngunduh panangan minat eBPF tina gudang éksternal sareng ngajalankeun éta dina sistem lokal. Toolkit ngidinan Anjeun pikeun ngahasilkeun kerangka kode dina C pikeun pawang eBPF topik dipilih (ayeuna ukur pawang pikeun jaringan sarta operasi file nu intercept nelepon ka tumpukan jaringan sarta sistem file dirojong). Dumasar kerangka anu dihasilkeun, pamekar tiasa gancang nerapkeun fungsionalitas anu dipikaresep ku anjeunna.

Beda sareng BCC (BPF Compiler Collection), BumbleBee henteu lengkep ngawangun deui kode panangan pikeun tiap versi kernel Linux (BCC nganggo kompilasi on-the-fly nganggo Clang unggal waktos program eBPF diluncurkeun). Pikeun ngajawab masalah portability, CO-RE na libbpf parabot keur dimekarkeun, ngamungkinkeun Anjeun pikeun ngawangun kode ngan sakali tur ngagunakeun loader universal husus nu nyaluyukeun program dimuat kana kernel ayeuna sarta BTF Type Format. BumbleBee mangrupikeun tambihan pikeun libbpf sareng nyayogikeun jinis tambahan pikeun interpretasi otomatis sareng tampilan data anu aya dina struktur peta eBPF standar RingBuffer sareng HashMap.

Pikeun ngawangun program eBPF final sarta simpen salaku gambar OCI, ngan ngajalankeun paréntah "nyiruan ngawangun file_with_code ngaran: versi", sarta ngajalankeun paréntah "bee run ngaran: versi". Sacara standar, acara ditampi ti Handler bakal kaluaran ka jandela terminal, tapi lamun perlu, anjeun bisa ménta data ku ngagunakeun curl atawa wget Utiliti ka port jaringan kabeungkeut Handler nu. Pawang tiasa disebarkeun ngaliwatan repositori anu cocog sareng OCI, contona, pikeun ngajalankeun pawang éksternal tina gudang ghcr.io (GitHub Container Registry), anjeun tiasa ngajalankeun paréntah "bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(versi nyiruan)”. Pikeun nempatkeun pawang dina gudang, paréntah "nyiruan push" diusulkeun, sareng pikeun ngabeungkeut versi, "tag nyiruan".

sumber: opennet.ru

Tambahkeun komentar