BumbleBee - eBPF پروگرامن جي تخليق ۽ تقسيم کي آسان ڪرڻ لاءِ هڪ ٽول ڪٽ

Solo.io، هڪ ڪمپني جيڪا ڪلائوڊ سسٽم، مائڪرو سروسز، الڳ ٿيل ڪنٽينرز ۽ سرور لیس ڪمپيوٽنگ لاءِ پراڊڪٽس تيار ڪري ٿي، شايع ڪيو آهي BumbleBee، هڪ اوپن سورس ٽول ڪٽ جنهن جو مقصد eBPF پروگرامن جي تياري، ورڇ ۽ لانچ کي آسان ڪرڻ آهي جيڪي اندران هڪ خاص ورچوئل مشين ۾ هلن ٿا. لينڪس ڪنييل ۽ پروسيسنگ نيٽورڪ آپريشنز، ڪنٽرول رسائي ۽ مانيٽر سسٽم جي اجازت ڏين ٿا. ڪوڊ Go ۾ لکيل آهي ۽ Apache 2.0 لائسنس تحت ورهايو ويو آهي.

BumbleBee ان کي ممڪن بڻائي ٿو ته هڪ eBPF پروگرام کي هڪ ڪنٽينر تصوير جي طور تي OCI (اوپن ڪنٽينر شروعاتي) فارميٽ ۾، جيڪو ڪنهن به سسٽم تي هلائي سگهجي ٿو بغير ريڪپيليشن ۽ صارف جي جڳهه ۾ اضافي اجزاء جي استعمال جي. بنيادي ۾ eBPF ڪوڊ سان رابطو، بشمول ڊيٽا جي پروسيسنگ eBPF هينڊلر کان اچڻ، BumbleBee طرفان ورتو ويو آهي، جيڪو خودڪار طريقي سان هن ڊيٽا کي ميٽرڪس، هسٽوگرامس يا لاگز جي صورت ۾ برآمد ڪري ٿو، جنهن کي رسائي سگهجي ٿو، مثال طور، استعمال ڪندي. curl افاديت. تجويز ڪيل طريقو ڊولپر کي اجازت ڏئي ٿو ته eBPF ڪوڊ لکڻ تي ڌيان ڏئي ۽ هن ڪوڊ سان رابطي کي منظم ڪرڻ کان پريشان نه ٿئي صارف جي جاء، اسيمبلي ۽ ڪرنل ۾ لوڊ ڪندي.

eBPF پروگرامن کي منظم ڪرڻ لاءِ، هڪ Docker طرز جي ”بي“ يوٽيلٽي پيش ڪئي وئي آهي، جنهن سان توهان فوري طور تي هڪ خارجي مخزن مان دلچسپي جي eBPF هينڊلر کي ڊائون لوڊ ڪري مقامي سسٽم تي هلائي سگهو ٿا. ٽول ڪٽ توهان کي اجازت ڏئي ٿي C ۾ هڪ ڪوڊ فريم ورڪ ٺاهڻ جي لاءِ هڪ چونڊيل موضوع جي eBPF هينڊلرن لاءِ (في الحال صرف نيٽ ورڪ ۽ فائل آپريشنز لاءِ هينڊلر جيڪي نيٽ ورڪ اسٽيڪ ۽ فائل سسٽم کي سپورٽ ڪن ٿا). ٺاهيل فريم ورڪ جي بنياد تي، ڊولپر جلدي ڪارڪردگي کي لاڳو ڪري سگهي ٿو جنهن ۾ هو دلچسپي رکي ٿو.

BCC (BPF Compiler Collection) جي برعڪس، BumbleBee لينڪس ڪرنل جي هر ورزن لاءِ هينڊلر ڪوڊ مڪمل طور تي ٻيهر نه ٺاهيندو آهي (BCC هر ڀيري eBPF پروگرام شروع ٿيڻ تي ڪلانگ استعمال ڪندي آن دي فلائي ڪمپليشن استعمال ڪندو آهي). پورٽيبلٽي سان مسئلن کي حل ڪرڻ لاءِ، CO-RE ۽ libbpf اوزار ٺاهيا پيا وڃن، جيڪي توهان کي صرف هڪ ڀيرو ڪوڊ ٺاهڻ جي اجازت ڏين ٿا ۽ هڪ خاص يونيورسل لوڊر استعمال ڪن ٿا جيڪو لوڊ ٿيل پروگرام کي موجوده ڪرنل ۽ BTF قسم جي فارميٽ ۾ تبديل ڪري ٿو. BumbleBee libbpf ۾ هڪ اضافو آهي ۽ معياري eBPF نقشي جي جوڙجڪ RingBuffer ۽ HashMap ۾ واقع ڊيٽا جي خودڪار تشريح ۽ ڊسپلي لاءِ اضافي قسمون مهيا ڪري ٿو.

حتمي eBPF پروگرام ٺاهڻ ۽ ان کي OCI تصوير جي طور تي محفوظ ڪرڻ لاءِ، صرف ڪمانڊ کي هلايو ”bee build file_with_code name:version“، ۽ ڪمانڊ کي هلائڻ لاءِ ”bee run name:version“. ڊفالٽ طور، ھينڊلر کان وصول ٿيندڙ واقعا ٽرمينل ونڊو ڏانھن ٻاھر نڪرندا، پر جيڪڏھن ضروري ھجي، توھان ڊيٽا حاصل ڪري سگھوٿا curl يا wget استعمال ڪندي نيٽ ورڪ بندرگاھ ڏانھن ھينڊلر تائين. هينڊلر OCI-compatible repositories ذريعي ورهائي سگھجن ٿا، مثال طور، ghcr.io مخزن (GitHub ڪنٽينر رجسٽري) مان هڪ ٻاهرين هينڊلر کي هلائڻ لاءِ، توهان حڪم هلائي سگهو ٿا ”bee run ghcr.io/solo-io/bumblebee/tcpconnect: $(بي ورزن)”. ريپوزٽري ۾ هينڊلر رکڻ لاءِ، ”بي پش“ ڪمانڊ تجويز ڪيو ويو آهي، ۽ ورجن کي پابند ڪرڻ لاءِ، ”بي ٽيگ“.

جو ذريعو: opennet.ru

تبصرو شامل ڪريو