BumbleBee - kit alat untuk memudahkan penciptaan dan pengedaran program eBPF

Solo.io, sebuah syarikat yang membangunkan produk untuk sistem awan, perkhidmatan mikro, kontena terpencil dan pengkomputeran tanpa pelayan, telah menerbitkan toolkit BumbleBee sumber terbuka, yang bertujuan untuk memudahkan penyediaan, pengedaran dan pelaksanaan program eBPF yang berjalan dalam mesin maya khas di dalam kernel. Linux dan membolehkan pemprosesan operasi rangkaian, kawalan akses dan pemantauan sistem. Kod ini ditulis dalam Go dan diedarkan di bawah lesen Apache 2.0.

BumbleBee memungkinkan untuk membungkus program eBPF sebagai imej kontena dalam format OCI (Open Container Initiative), yang boleh dijalankan pada mana-mana sistem tanpa penyusunan semula dan penggunaan komponen tambahan dalam ruang pengguna. Interaksi dengan kod eBPF dalam teras, termasuk pemprosesan data yang datang daripada pengendali eBPF, diambil alih oleh BumbleBee, yang secara automatik mengeksport data ini dalam bentuk metrik, histogram atau log, yang boleh diakses, contohnya, menggunakan utiliti curl. Pendekatan yang dicadangkan membolehkan pembangun menumpukan pada menulis kod eBPF dan tidak terganggu dengan mengatur interaksi dengan kod ini dari ruang pengguna, pemasangan dan pemuatan ke dalam kernel.

Untuk mengurus program eBPF, utiliti "lebah" gaya Docker ditawarkan, yang dengannya anda boleh memuat turun pengendali minat eBPF dengan segera daripada repositori luaran dan menjalankannya pada sistem setempat. Kit alat membolehkan anda menjana rangka kerja kod dalam C untuk pengendali eBPF bagi topik yang dipilih (pada masa ini hanya pengendali untuk rangkaian dan operasi fail yang memintas panggilan ke susunan rangkaian dan sistem fail disokong). Berdasarkan rangka kerja yang dijana, pembangun boleh melaksanakan fungsi yang diminatinya dengan cepat.

Tidak seperti BCC (BPF Compiler Collection), BumbleBee tidak melakukan pembinaan semula kod pengendali sepenuhnya untuk setiap versi kernel. Linux (BCC menggunakan kompilasi sambilan dengan Clang setiap kali program eBPF dijalankan.) Bagi menangani isu kebolehgunaan, kit alat CO-RE dan libbpf sedang dibangunkan, yang membolehkan kod dikompilasi sekali sahaja dan menggunakan pemuat universal khas yang menyesuaikan program yang dimuatkan dengan kernel semasa dan jenis BTF (Format Jenis BPF). BumbleBee ialah alat tambah libbpf dan menyediakan jenis tambahan untuk mentafsir dan memaparkan data yang disimpan dalam struktur peta eBPF standard, RingBuffer dan HashMap secara automatik.

Untuk membina program eBPF terakhir dan menyimpannya sebagai imej OCI, hanya jalankan arahan "bee build file_with_code name:version", dan untuk menjalankan arahan "bee run name:version". Secara lalai, peristiwa yang diterima daripada pengendali akan dikeluarkan ke tetingkap terminal, tetapi jika perlu, anda boleh mendapatkan data dengan menggunakan utiliti curl atau wget ke port rangkaian yang terikat kepada pengendali. Pengendali boleh diedarkan melalui repositori yang serasi dengan OCI, sebagai contoh, untuk menjalankan pengendali luaran daripada repositori ghcr.io (GitHub Container Registry), anda boleh menjalankan arahan “bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(versi lebah)”. Untuk meletakkan pengendali dalam repositori, arahan "bee push" dicadangkan, dan untuk mengikat versi, "bee tag".

Sumber: opennet.ru

Beli pengehosan yang boleh dipercayai untuk tapak dengan perlindungan DDoS, pelayan VPS VDS 🔥 Beli pengehosan laman web yang boleh dipercayai dengan perlindungan DDoS, pelayan VPS VDS | ProHoster