BumbleBee - eBPF ပရိုဂရမ်များ ဖန်တီးခြင်းနှင့် ဖြန့်ဖြူးခြင်းကို ရိုးရှင်းစေရန် ကိရိယာအစုံ

cloud systems၊ microservices၊ isolated containers နှင့် serverless computing အတွက် ထုတ်ကုန်များကို တီထွင်နေသော ကုမ္ပဏီတစ်ခုဖြစ်သည့် Solo.io သည် kernel အတွင်းရှိ အထူး virtual machine တစ်ခုတွင် လည်ပတ်နေသော eBPF ပရိုဂရမ်များ၏ ပြင်ဆင်မှု၊ ဖြန့်ဖြူးမှုနှင့် လုပ်ဆောင်မှုကို ရိုးရှင်းစေရန် ရည်ရွယ်သည့် open source BumbleBee toolkit ကို ထုတ်ဝေခဲ့သည်။ Linux နှင့် ကွန်ရက်လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ခြင်း၊ ဝင်ရောက်ခွင့်ထိန်းချုပ်မှုနှင့် စနစ်စောင့်ကြည့်ခြင်းတို့ကို လုပ်ဆောင်နိုင်စေပါသည်။ ကုဒ်ကို Go ဖြင့်ရေးသားထားပြီး Apache 2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။

BumbleBee သည် eBPF ပရိုဂရမ်တစ်ခုအား OCI (Open Container Initiative) ဖော်မတ်တွင် ကွန်တိန်နာပုံအဖြစ် ထုပ်ပိုးရန်နှင့် အသုံးပြုသူနေရာရှိ အပိုအစိတ်အပိုင်းများကို အသုံးပြုခြင်းမရှိဘဲ မည်သည့်စနစ်တွင်မဆို လုပ်ဆောင်နိုင်စေပါသည်။ eBPF ကိုင်တွယ်သူမှလာသော ဒေတာများကို လုပ်ဆောင်ခြင်းအပါအဝင် core ရှိ eBPF ကုဒ်နှင့် အပြန်အလှန် တုံ့ပြန်မှုကို BumbleBee မှ လွှဲပြောင်းရယူထားပြီး၊ ဥပမာအားဖြင့် ဝင်ရောက်ကြည့်ရှုနိုင်သည့် မက်ထရစ်များ၊ ဟစ်စတိုဂရမ်များ သို့မဟုတ် မှတ်တမ်းများပုံစံဖြင့် ဤဒေတာကို အလိုအလျောက် တင်ပို့ပေးပါသည်။ curl ရှိမှာပေါ့။ အဆိုပြုထားသောချဉ်းကပ်မှုသည် developer အား eBPF ကုဒ်ရေးသားခြင်းအပေါ် အာရုံစိုက်စေပြီး အသုံးပြုသူနေရာမှ၊ စုစည်းမှုနှင့် kernel အတွင်းသို့ ဤကုဒ်ဖြင့် အပြန်အလှန်တုံ့ပြန်မှုကို စုစည်းခြင်းဖြင့် အာရုံထွေပြားခြင်းမရှိဘဲ အာရုံပျံ့လွင့်စေပါသည်။

eBPF ပရိုဂရမ်များကို စီမံခန့်ခွဲရန်အတွက် Docker-style “bee” utility တစ်ခုကို ကမ်းလှမ်းထားပြီး၊ ၎င်းသည် သင်စိတ်ဝင်စားသော eBPF ကိုင်တွယ်သူကို ပြင်ပသိုလှောင်မှုတစ်ခုမှ ချက်ခြင်းဒေါင်းလုဒ်လုပ်ကာ ၎င်းကို ဒေသတွင်းစနစ်တွင် လုပ်ဆောင်နိုင်သည်။ ကိရိယာအစုံသည် ရွေးချယ်ထားသော ခေါင်းစဉ်တစ်ခု၏ eBPF ကိုင်တွယ်သူများအတွက် C တွင် ကုဒ်ဘောင်တစ်ခုကို ဖန်တီးနိုင်သည် (လက်ရှိတွင် network stack နှင့် ဖိုင်စနစ်များသို့ ခေါ်ဆိုမှုများကို ကြားဖြတ်ဟန့်တားသော ကွန်ရက်နှင့် ဖိုင်လုပ်ငန်းဆောင်တာများအတွက်သာ ကိုင်တွယ်ဆောင်ရွက်ပေးသည်)။ ထုတ်ပေးသည့်ဘောင်အပေါ်အခြေခံ၍ developer သည် သူစိတ်ဝင်စားသည့်လုပ်ဆောင်ချက်ကို လျင်မြန်စွာအကောင်အထည်ဖော်နိုင်သည်။

BCC (BPF Compiler Collection) နှင့်မတူဘဲ၊ BumbleBee သည် kernel ဗားရှင်းတစ်ခုစီအတွက် handler code ကို အပြီးအပိုင်ပြန်လည်တည်ဆောက်ခြင်း မပြုလုပ်ပါ။ Linux (eBPF ပရိုဂရမ်တစ်ခုကို လည်ပတ်တိုင်း BCC သည် Clang နှင့်အတူ on-the-fly compilation ကို အသုံးပြုသည်။) portability ပြဿနာများကို ဖြေရှင်းရန်အတွက် CO-RE နှင့် libbpf toolkits များကို တီထွင်နေပြီး ကုဒ်ကို တစ်ကြိမ်သာ compile လုပ်နိုင်ပြီး load လုပ်ထားသော ပရိုဂရမ်ကို လက်ရှိ kernel နှင့် BTF (BPF Type Format) အမျိုးအစားများနှင့် လိုက်လျောညီထွေဖြစ်စေသည့် အထူး universal loader တစ်ခုကို အသုံးပြုနိုင်သည်။ BumbleBee သည် libbpf add-on တစ်ခုဖြစ်ပြီး standard eBPF map structures များ၊ RingBuffer နှင့် HashMap တွင် သိမ်းဆည်းထားသော အချက်အလက်များကို အလိုအလျောက် အဓိပ္ပာယ်ဖွင့်ဆိုခြင်းနှင့် ပြသခြင်းအတွက် အပိုဆောင်းအမျိုးအစားများကို ပံ့ပိုးပေးသည်။

နောက်ဆုံး eBPF ပရိုဂရမ်ကို တည်ဆောက်ပြီး OCI ရုပ်ပုံအဖြစ် သိမ်းဆည်းရန်အတွက် "bee build file_with_code name:version" ဟူသော command ကို run ပြီး command "bee run name:version" ကို run လိုက်ပါ။ ပုံမှန်အားဖြင့်၊ handler မှလက်ခံရရှိသည့်ဖြစ်ရပ်များသည် terminal window သို့ output ဖြစ်လိမ့်မည်၊ သို့သော် လိုအပ်ပါက၊ handler နှင့်ချိတ်ဆက်ထားသော network port သို့ curl သို့မဟုတ် wget utilities ကိုအသုံးပြုခြင်းဖြင့် data ကို ရယူနိုင်ပါသည်။ ကိုင်တွယ်သူများကို OCI-သဟဇာတရှိသော သိုလှောင်ရာနေရာများမှတဆင့် ဖြန့်ဝေနိုင်သည်၊ ဥပမာအားဖြင့် ghcr.io သိုလှောင်မှု (GitHub Container Registry) မှ ပြင်ပကိုင်တွယ်သူအား လုပ်ဆောင်ရန်အတွက် သင်သည် “bee run ghcr.io/solo-io/bumblebee/tcpconnect ဟူသော command ကို run နိုင်ပါသည်။ $(bee version)"။ repository တွင် handler ကို နေရာချရန် "bee push" command ကို အဆိုပြုထားပြီး ဗားရှင်းတစ်ခုဖြစ်သည့် "bee tag" ကို ချိတ်ရန်။

source: opennet.ru

DDoS ကာကွယ်ရေး၊ VPS VDS ဆာဗာများပါသည့် ဆိုက်များအတွက် ယုံကြည်စိတ်ချရသော hosting ကို ဝယ်ယူပါ။ 🔥 DDoS ကာကွယ်မှု၊ VPS VDS ဆာဗာများပါရှိသော ယုံကြည်စိတ်ချရသော ဝဘ်ဆိုက် hosting ကို ဝယ်ယူပါ | ProHoster