solo.io, a számítási felhő cég, mikroszolgáltatások, sandbox és szerver nélküli, bemutatta a "BumbleBee" nyílt forráskódú projektet. Az új projekt leegyszerűsíti a fejlesztői élményt eBPF-eszközök építésére, csomagolására és terjesztésére, Solo szerint.
BumbleBee automatikusan generál egy felhasználói térkódot ismétlődően az eBPF-eszközök fejlesztéséhez – magyarázta a vállalat. Docker-szerű élményt is nyújt eBPF program becsomagolásához. Ez lehetővé teszi, hogy csatlakozzon más OCI lemezkép-munkafolyamatokhoz közzététel és terjesztés céljából.
A BumbleBee-ről
BumbleBee lehetővé teszi egy eBPF program konténerképként történő csomagolását Open Container Initiative (OCI), amely bármely rendszeren futtatható újrafordítás vagy további komponensek használata nélkül felhasználói térben.
A kernelben lévő eBPF kóddal való interakciót, beleértve az eBPF processzorból érkező adatok feldolgozását is, a BumbleBee kezeli, amely automatikusan exportálja ezeket az adatokat metrikák, hisztogramok vagy naplók formájában, amelyek elérhetők pl. a curl segédprogram. A javasolt megközelítés lehetővé teszi a fejlesztő számára, hogy az eBPF kód írására összpontosítson és ne zavarja el a figyelmét azzal, hogy megszervezi a kóddal való interakciót a felhasználói területről, az összeállításról és a kernelbe való betöltésről.
A Solo.io vezérigazgatója, Idit Levine ezt mondja:
A vállalat úgy fejlesztette ki a BumbleBee-t, hogy automatikusan generálja az ismétlődő felhasználói térkódot, amely a kernel szintjén futó eBPF technológiák eléréséhez szükséges. A BumbleBee tartalmaz egy parancssori felületet (CLI), amely automatikusan generál felhasználói térkódot az eBPF-programokhoz azáltal, hogy automatikusan megjeleníti a térképeket, például a naplókat, a metrikákat és a hisztogramokat.
Az eBPF programok kezeléséhez egy Docker stílusú "méh" segédprogram biztosított, amellyel azonnal letöltheti az eBPF illesztőprogramot egy külső tárolóból, és futtassa azt a helyi rendszeren.
Az eszközkészlet lehetővé teszi egy C kódkeret létrehozását az eBPF illesztőprogramokhoz egy kiválasztott témakörhöz (jelenleg csak a hálózati veremhívásokat és fájlrendszereket elfogó fájl- és hálózati illesztőprogramok támogatottak). A generált keretrendszer alapján a fejlesztő gyorsan megvalósíthatja az őt érdeklő funkcionalitást.
A BCC-vel (BPF Compiler Collection) ellentétben A BumbleBee nem építi teljesen újra az illesztőprogram kódját az egyes kernelverziókhoz Linux (a BCC az eBPF program minden egyes futtatásakor a fordítást menet közben használja a Clang-gel).
A hordozhatósági problémák megoldása érdekében Fejlődnek szerszámkészletek CO-RE és libbpf, amelyek lehetővé teszik a kód egyszeri fordítását és használjunk speciális univerzális betöltőt, amely a betöltött programot az aktuális kernel- és BTF-típusokhoz igazítja (BPF típusú formátum).
A BumbleBee egy beépülő modul a libbpf tetején, és további típusokat biztosít a szabványos RingBuffer és HashMap eBPF térképstruktúrákban elhelyezett adatok automatikus értelmezéséhez és megjelenítéséhez.
A végső eBPF program elkészítéséhez és OCI képként való mentéséhez egyszerűen futtassa a parancsot:
bee build file_with_code name:version
És futtassa a parancsot
bee run name:version
Alapértelmezés szerint a vezérlőtől kapott események megjelennek a terminál ablakában, de szükség esetén a vezérlőhöz kötött hálózati porton lévő curl vagy wget segédprogramok meghívásával is megkaphatja az adatokat.
Az illesztőprogramok OCI-kompatibilis tárolókon keresztül terjeszthetők, például egy külső illesztőprogram futtatásához a ghcr.io tárolóból (GitHub Container Registry), futtathatja a parancsot
bee run ghcr.io/solo-io/bumblebee/tcpconnect:$(bee version)
A vezérlő lerakatba helyezéséhez a rendszer felajánlja a parancsot
bee push
És linkelni a verziót
bee tag
Az eBPF legnagyobb előnye egyszerűen a hatékonyság. A biztonsági, hálózati és tárolási platformok teljes feldolgozási költségének csökkennie kell, mivel egyre több szállító használja ki képességeiket.
Most, az eBPF-et széles körben használják a webes méretű vállalatok, például a felhőszolgáltatók. A Facebook ezt használja elsődleges szoftver által definiált terheléselosztóként adatközpontjaiban, míg a Google a nyílt forráskódú Cilium hálózati szoftvert használja Kubernetes által felügyelt kínálatában.
Levine szerint azonban most már csak idő kérdése, hogy az eBPF-et sokkal szélesebb körben alkalmazzák, ahogy egyre több operációs rendszer teszi lehetővé a kapacitást.
Végül ha többet szeretne tudni róla, ellenőrizheti a részleteket A következő linken.