Solo.io، هڪ ڪمپني جيڪا ڪلائوڊ سسٽم، مائڪرو سروسز، آئسوليٽڊ ڪنٽينرز، ۽ سرور لیس ڪمپيوٽنگ لاءِ پراڊڪٽس تيار ڪري رهي آهي، اوپن سورس BumbleBee ٽول ڪٽ شايع ڪيو آهي، جنهن جو مقصد ڪرنل اندر هڪ خاص ورچوئل مشين ۾ هلندڙ eBPF پروگرامن جي تياري، ورڇ ۽ عمل کي آسان بڻائڻ آهي. Linux ۽ پروسيسنگ نيٽ ورڪ آپريشنز، رسائي ڪنٽرول، ۽ سسٽم مانيٽرنگ کي فعال ڪريو. ڪوڊ Go ۾ لکيل آهي ۽ Apache 2.0 لائسنس تحت ورهايو ويو آهي.
BumbleBee ان کي ممڪن بڻائي ٿو ته هڪ eBPF پروگرام کي هڪ ڪنٽينر تصوير جي طور تي OCI (اوپن ڪنٽينر شروعاتي) فارميٽ ۾، جيڪو ڪنهن به سسٽم تي هلائي سگهجي ٿو بغير ريڪپيليشن ۽ صارف جي جڳهه ۾ اضافي اجزاء جي استعمال جي. بنيادي ۾ eBPF ڪوڊ سان رابطو، بشمول ڊيٽا جي پروسيسنگ eBPF هينڊلر کان اچڻ، BumbleBee طرفان ورتو ويو آهي، جيڪو خودڪار طريقي سان هن ڊيٽا کي ميٽرڪس، هسٽوگرامس يا لاگز جي صورت ۾ برآمد ڪري ٿو، جنهن کي رسائي سگهجي ٿو، مثال طور، استعمال ڪندي. curl افاديت. تجويز ڪيل طريقو ڊولپر کي اجازت ڏئي ٿو ته eBPF ڪوڊ لکڻ تي ڌيان ڏئي ۽ هن ڪوڊ سان رابطي کي منظم ڪرڻ کان پريشان نه ٿئي صارف جي جاء، اسيمبلي ۽ ڪرنل ۾ لوڊ ڪندي.
eBPF پروگرامن کي منظم ڪرڻ لاءِ، هڪ Docker طرز جي ”بي“ يوٽيلٽي پيش ڪئي وئي آهي، جنهن سان توهان فوري طور تي هڪ خارجي مخزن مان دلچسپي جي eBPF هينڊلر کي ڊائون لوڊ ڪري مقامي سسٽم تي هلائي سگهو ٿا. ٽول ڪٽ توهان کي اجازت ڏئي ٿي C ۾ هڪ ڪوڊ فريم ورڪ ٺاهڻ جي لاءِ هڪ چونڊيل موضوع جي eBPF هينڊلرن لاءِ (في الحال صرف نيٽ ورڪ ۽ فائل آپريشنز لاءِ هينڊلر جيڪي نيٽ ورڪ اسٽيڪ ۽ فائل سسٽم کي سپورٽ ڪن ٿا). ٺاهيل فريم ورڪ جي بنياد تي، ڊولپر جلدي ڪارڪردگي کي لاڳو ڪري سگهي ٿو جنهن ۾ هو دلچسپي رکي ٿو.
BCC (BPF ڪمپائلر ڪليڪشن) جي برعڪس، BumbleBee هر ڪرنل ورزن لاءِ هينڊلر ڪوڊ جي مڪمل ٻيهر تعمير نه ٿو ڪري. Linux (BCC هر وقت eBPF پروگرام هلائڻ وقت Clang سان آن-دي-فلائي ڪمپليشن استعمال ڪندو آهي.) پورٽيبلٽي مسئلن کي حل ڪرڻ لاءِ، CO-RE ۽ libbpf ٽول ڪِٽس تيار ڪيون پيون وڃن، جيڪي ڪوڊ کي صرف هڪ ڀيرو مرتب ڪرڻ جي اجازت ڏين ٿيون ۽ هڪ خاص يونيورسل لوڊر استعمال ڪندي جيڪو لوڊ ٿيل پروگرام کي موجوده ڪرنل ۽ BTF (BPF ٽائپ فارميٽ) قسمن سان مطابقت رکي ٿو. 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
