virtualization-based isolation ဖြင့် Kata Containers 3.0 ကို ဖြန့်ချိသည်။

ဖွံ့ဖြိုးတိုးတက်မှု နှစ်နှစ်အကြာတွင်၊ Kata Containers 3.0 ပရောဂျက်ကို ထုတ်ဝေခဲ့ပြီး၊ အပြည့်အ၀ virtualization ယန္တရားများကို အခြေခံ၍ အထီးကျန်မှုကို အသုံးပြု၍ ကွန်တိန်နာများကို စီမံလုပ်ဆောင်ရန်အတွက် အစုအဝေးတစ်ခုကို တီထွင်ခဲ့သည်။ ပရောဂျက်ကို Intel နှင့် Hyper တို့က Clear Containers နှင့် runV နည်းပညာများ ပေါင်းစပ်ခြင်းဖြင့် ဖန်တီးခဲ့ခြင်းဖြစ်သည်။ ပရောဂျက်ကုဒ်ကို Go and Rust ဖြင့် ရေးသားထားပြီး Apache 2.0 လိုင်စင်အောက်တွင် ဖြန့်ဝေထားသည်။ Canonical၊ China Mobile၊ Dell/EMC၊ EasyStack၊ Google၊ Huawei၊ NetApp၊ Red Hat၊ SUSE နှင့် ZTE ကဲ့သို့သော ကုမ္ပဏီကြီးများ ပါဝင်သော လွတ်လပ်သော OpenStack Foundation ၏ ပံ့ပိုးကူညီမှုဖြင့် ပရောဂျက်၏ ဖွံ့ဖြိုးတိုးတက်မှုကို ဖန်တီးထားသော လုပ်ငန်းအဖွဲ့မှ ကြီးကြပ်ပါသည်။ .

Kata ၏ အဓိကအချက်မှာ ယေဘုယျအားဖြင့် Linux kernel ကိုအသုံးပြုပြီး namespaces နှင့် cgroups များကို သီးခြားခွဲထုတ်ထားသည့် ရိုးရာကွန်တိန်နာများကို အသုံးပြုမည့်အစား hypervisor အပြည့်အစုံကို အသုံးပြု၍ အလုပ်လုပ်နိုင်သော ကျစ်လစ်သော virtual machines များကို ဖန်တီးနိုင်စေမည့် runtime ဖြစ်သည်။ virtual machines များကိုအသုံးပြုခြင်းသည် Linux kernel ရှိ အားနည်းချက်များကို အသုံးချခြင်းကြောင့် ဖြစ်ပေါ်လာသော တိုက်ခိုက်မှုများကို ကာကွယ်ပေးသည့် ပိုမိုမြင့်မားသော လုံခြုံရေးအဆင့်ကို ရရှိစေမည်ဖြစ်သည်။

Kata Containers သည် ရိုးရာကွန်တိန်နာများ၏ အကာအကွယ်ကို မြှင့်တင်ရန် အလားတူ virtual machines များကို အသုံးပြုနိုင်သည့် လက်ရှိ ကွန်တိန်နာ အထီးကျန်အခြေခံအဆောက်အအုံများအတွင်းသို့ ပေါင်းစည်းခြင်းအပေါ် အာရုံစိုက်ထားသည်။ ပရောဂျက်သည် အမျိုးမျိုးသော ကွန်တိန်နာအထီးကျန်အခြေခံအဆောက်အအုံများ၊ ကွန်တိန်နာစုစည်းမှုပလပ်ဖောင်းများနှင့် OCI (Open Container Initiative)၊ CRI (Container Runtime Interface) နှင့် CNI (Container Networking Interface) ကဲ့သို့သော ပေါ့ပါးသော virtual machines များကို လိုက်ဖက်မှုရှိစေရန်အတွက် ယန္တရားများကို ပံ့ပိုးပေးပါသည်။ ကိရိယာများကို Docker၊ Kubernetes၊ QEMU နှင့် OpenStack တို့နှင့် ပေါင်းစည်းရန်အတွက် ရနိုင်ပါသည်။

virtualization-based isolation ဖြင့် Kata Containers 3.0 ကို ဖြန့်ချိသည်။

ကွန်တိန်နာစီမံခန့်ခွဲမှုစနစ်များနှင့် ပေါင်းစည်းခြင်းအား gRPC မျက်နှာပြင်နှင့် အထူးပရောက်စီမှတဆင့် virtual machine အတွင်းရှိ စီမံခန့်ခွဲမှုအေးဂျင့်ကို ဝင်ရောက်သည့် ကွန်တိန်နာစီမံခန့်ခွဲမှုကို အတုယူသည့် အလွှာကို အသုံးပြု၍ အောင်မြင်သည်။ hypervisor မှစတင်သည့် virtual ဝန်းကျင်အတွင်းတွင်၊ လိုအပ်သောစွမ်းရည်အနိမ့်ဆုံးအစုများသာပါရှိသော အထူးကောင်းမွန်သော Linux kernel ကိုအသုံးပြုထားသည်။

hypervisor အနေဖြင့် QEMU ကိရိယာအစုံ၊ Firecracker နှင့် Cloud Hypervisor တို့နှင့်အတူ Dragonball Sandbox (ကွန်တိန်နာများအတွက် အကောင်းဆုံးဖြစ်အောင်ပြုလုပ်ထားသော KVM ထုတ်ဝေမှု) ကို ပံ့ပိုးပေးပါသည်။ စနစ်ပတ်ဝန်းကျင်တွင် ကနဦးလုပ်ဆောင်မှု daemon နှင့် အေးဂျင့်တစ်ခုပါဝင်သည်။ အေးဂျင့်သည် Kubernetes အတွက် Docker နှင့် CRI အတွက် OCI ဖော်မတ်တွင် အသုံးပြုသူသတ်မှတ်ထားသော ကွန်တိန်နာပုံများကို လုပ်ဆောင်ပေးပါသည်။ Docker နှင့် တွဲဖက်အသုံးပြုသောအခါ၊ ကွန်တိန်နာတစ်ခုစီအတွက် သီးခြား virtual machine တစ်ခုကို ဖန်တီးထားသည်၊ ဆိုလိုသည်မှာ၊ hypervisor ထိပ်တွင် လည်ပတ်နေသော ပတ်ဝန်းကျင်ကို ကွန်တိန်နာများ အသိုက်အမြုံ လွှင့်တင်ရန်အတွက် အသုံးပြုသည်။

virtualization-based isolation ဖြင့် Kata Containers 3.0 ကို ဖြန့်ချိသည်။

မမ်မိုရီသုံးစွဲမှုကို လျှော့ချရန်အတွက် DAX ယန္တရားအား (ဖိုင်စနစ်သို့ တိုက်ရိုက်ဝင်ရောက်ခွင့်၊ ပိတ်ဆို့ကိရိယာအဆင့်ကို အသုံးမပြုဘဲ စာမျက်နှာ ကက်ရှ်ကို ကျော်ဖြတ်ခြင်း) နှင့် ထပ်တူထပ်တူမှတ်ဉာဏ်ဧရိယာများကို ပွားရန်အတွက် KSM (Kernel Samepage Merging) နည်းပညာကို အသုံးပြုသည်၊ လက်ခံသူစနစ်ရင်းမြစ်များ မျှဝေခြင်းကို စုစည်းရန်နှင့် မတူညီသော ဧည့်သည်စနစ်များသို့ ချိတ်ဆက်ရန် ဘုံစနစ်ပတ်ဝန်းကျင် နမူနာပုံစံကို မျှဝေပါ။

ဗားရှင်းအသစ်တွင်-

  • Rust ဘာသာစကားဖြင့် ရေးသားထားသော ကွန်တိန်နာများ ဖြည့်ခြင်းပုံစံ (ယခင်က ပံ့ပိုးပေးထားသည့် runtime ကို Go ဘာသာစကားဖြင့် ရေးထားသည်)။ Runtime သည် OCI၊ CRI-O နှင့် Containerd တို့နှင့် တွဲဖက်အသုံးပြုနိုင်ပြီး ၎င်းကို Docker နှင့် Kubernetes တို့နှင့် အသုံးပြုနိုင်သည်။
  • KVM နှင့် rust-vmm ကိုအခြေခံထားသော Dragonball hypervisor အသစ်တစ်ခုကို အဆိုပြုထားသည်။
  • VFIO ကို အသုံးပြု၍ GPU သို့ ထပ်ဆင့်ဝင်ရောက်ခွင့်အတွက် ပံ့ပိုးမှု ပေါင်းထည့်ထားသည်။
  • cgroup v2 အတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
  • ပင်မဖွဲ့စည်းပုံဖိုင်ကို မပြောင်းလဲဘဲ ဆက်တင်များကို ပြောင်းလဲခြင်းအတွက် ပံ့ပိုးမှုအား “config.d/” လမ်းညွှန်တွင်ရှိသော သီးခြားဖိုင်များတွင် ပိတ်ဆို့မှုများကို အစားထိုးခြင်းဖြင့် အကောင်အထည်ဖော်ခဲ့သည်။
  • သံချေးတက်နေသော အစိတ်အပိုင်းများတွင် ဖိုင်လမ်းကြောင်းများနှင့် လုံခြုံစွာလုပ်ဆောင်ရန်အတွက် စာကြည့်တိုက်အသစ်တစ်ခု ပါဝင်သည်။
  • virtiofsd အစိတ်အပိုင်း (C ဖြင့်ရေးထားသည်) ကို virtiofsd-rs (Rust ဖြင့်ရေးထားသည်) ဖြင့် အစားထိုးထားသည်။
  • sandboxing QEMU အစိတ်အပိုင်းများအတွက် ပံ့ပိုးမှု ထပ်ထည့်ထားသည်။
  • QEMU သည် asynchronous I/O အတွက် io_uring API ကို အသုံးပြုသည်။
  • Intel TDX (Trusted Domain Extensions) တိုးချဲ့မှုများကို QEMU နှင့် Cloud-hypervisor အတွက် ပံ့ပိုးပေးထားပါသည်။
  • မွမ်းမံထားသော အစိတ်အပိုင်းများ- QEMU 6.2.0၊ Cloud-hypervisor 26.0၊ Firecracker 1.1.0၊ Linux kernel 5.19.2။

source: opennet.ru

မှတ်ချက် Add