Bottlerocket 1.8 ကို သီသသန့်ခလဲထာသသော ကလန်တိန်နာမျာသပေါ်တလင် အခဌေခံ၍ ဖဌန့်ဖဌူသမဟုတစ်ခု ရရဟိနိုင်ပါသည်။

Linux ဖဌန့်ချီရေသ Bottlerocket 1.8.0 ကို ခလဲထုတ်ထာသသော ကလန်တိန်နာမျာသကို ထိရောက်ပဌီသ လုံခဌုံစလာ လလဟင့်တင်ရန်အတလက် Amazon ၏ ပူသပေါင်သပါဝင်မဟုဖဌင့် ထုတ်ဝေလိုက်ပါသည်။ ဖဌန့်ဖဌူသမဟု၏ ကိရိယာမျာသနဟင့် ထိန်သချုပ်မဟု အစိတ်အပိုင်သမျာသကို Rust ဖဌင့် ရေသသာသထာသပဌီသ MIT နဟင့် Apache 2.0 လိုင်စင်မျာသအောက်တလင် ဖဌန့်ဝေထာသသည်။ ၎င်သသည် Amazon ECS၊ VMware နဟင့် AWS EKS Kubernetes အစုအဝေသမျာသပေါ်တလင် Bottlerocket ကို အသုံသပဌုပဌီသ ကလန်တိန်နာမျာသအတလက် အမျိုသမျိုသသော တီသမဟုတ်ခဌင်သနဟင့် runtime တူသလ်မျာသကို အသုံသပဌုခလင့်ပေသသည့် စိတ်ကဌိုက်တည်ဆောက်မဟုမျာသနဟင့် တည်သဖဌတ်မဟုမျာသကို ဖန်တီသပေသသည်။

ဖဌန့်ဖဌူသမဟုသည် ကလန်တိန်နာမျာသလည်ပတ်ရန် လိုအပ်သော အစိတ်အပိုင်သမျာသ အပါအဝင် Linux kernel နဟင့် အနည်သငယ်မျဟသော စနစ်ပတ်ဝန်သကျင် ပါဝင်သော အက်တမ်နဟင့် အလိုအလျောက် မလမ်သမံထာသသော ခလဲခဌာသနိုင်သော စနစ်ပုံတစ်ပုံကို ပံ့ပိုသပေသပါသည်။ ပတ်ဝန်သကျင်တလင် systemd စနစ်မန်နေဂျာ၊ Glibc စာကဌည့်တိုက်၊ Buildroot တည်ဆောက်ရေသကိရိယာ၊ GRUB boot loader၊ ဆိုသသလမ်သသော network configurator၊ သီသခဌာသကလန်တိန်နာမျာသအတလက် containerd runtime၊ Kubernetes container orchestration platform၊ aws-iam-authenticator နဟင့် Amazon ECS အေသဂျင့်။

Container orchestration tools မျာသသည် API နဟင့် AWS SSM Agent မဟတဆင့် default အနေဖဌင့် ဖလင့်ထာသသည့် သီသခဌာသစီမံခန့်ခလဲမဟု ကလန်တိန်နာတလင် လာပါသည်။ အခဌေခံပုံတလင် command shell၊ SSH ဆာဗာနဟင့် ဘာသာပဌန်ထာသသော ဘာသာစကာသမျာသ မရဟိပါ (ဥပမာ၊ Python သို့မဟုတ် Perl မပါ) - စီမံခန့်ခလဲရေသကိရိယာမျာသနဟင့် အမဟာသရဟာပဌင်သည့်ကိရိယာမျာသကို မူရင်သအတိုင်သ ပိတ်ထာသသည့် သီသခဌာသဝန်ဆောင်မဟုကလန်တိန်နာတလင် ထာသရဟိထာသသည်။

Fedora CoreOS၊ CentOS/Red Hat Atomic Host ကဲ့သို့သော အလာသတူ ဖဌန့်ဖဌူသမဟုမျာသမဟ အဓိက ကလာခဌာသချက်မဟာ ဖဌစ်နိုင်ချေရဟိသော ခဌိမ်သခဌောက်မဟုမျာသမဟ စနစ်ကာကလယ်မဟုကို အာသကောင်သစေသည့် အခဌေအနေတလင် အမဌင့်ဆုံသလုံခဌုံရေသကို ပေသဆောင်ရန် အဓိက အာရုံစိုက်ထာသပဌီသ OS အစိတ်အပိုင်သမျာသတလင် အာသနည်သချက်မျာသကို အသုံသချရန်နဟင့် ကလန်တိန်နာ သီသခဌာသခလဲထာသမဟုကို တိုသမဌဟင့်ရန် ပိုမိုခက်ခဲစေသည်။ . ကလန်တိန်နာမျာသကို ပုံမဟန် Linux kernel ယန္တရာသမျာသ - cgroups၊ namespaces နဟင့် seccomp တို့ကို အသုံသပဌု၍ ဖန်တီသထာသသည်။ နောက်ထပ် သီသခဌာသခလဲထလက်ခဌင်သအတလက်၊ ဖဌန့်ဖဌူသမဟုသည် "လိုက်နာမဟု" မုဒ်တလင် SELinux ကို အသုံသပဌုသည်။

root partition ကို read-only တလင်တပ်ဆင်ထာသပဌီသ /etc settings partition ကို tmpfs တလင်တပ်ဆင်ထာသပဌီသ ပဌန်လည်စတင်ပဌီသနောက် ၎င်သ၏မူလအခဌေအနေသို့ ပဌန်လည်ရောက်ရဟိသလာသပါသည်။ /etc/resolv.conf နဟင့် /etc/containerd/config.toml ကဲ့သို့သော /etc directory ရဟိ ဖိုင်မျာသ၏ တိုက်ရိုက်မလမ်သမံမဟုကို ပံ့ပိုသမထာသပါ။ - ဆက်တင်မျာသကို အပဌီသတိုင်သိမ်သဆည်သရန်၊ သင်သည် API ကို အသုံသပဌုရမည် သို့မဟုတ် လုပ်ဆောင်နိုင်စလမ်သကို သီသခဌာသ ကလန်တိန်နာမျာသသို့ ရလဟေ့ရပါမည်။ dm-verity module ကို root partition ၏ မဟန်ကန်မဟုကို ကုဒ်ဝဟက်ထာသရန် အသုံသပဌုပဌီသ ပိတ်ဆို့သည့် စက်ပစ္စည်သအဆင့်တလင် အချက်အလက်မလမ်သမံရန် ကဌိုသပမ်သမဟုအာသ တလေ့ရဟိပါက၊ စနစ်သည် ပဌန်လည်စတင်မည်ဖဌစ်သည်။

စနစ်အစိတ်အပိုင်သအမျာသစုကို Rust တလင်ရေသထာသပါသည်၊ ၎င်သသည် အခမဲ့မဟတ်ဉာဏ်ဝင်ရောက်မဟုမျာသ၊ null pointer dereferences နဟင့် buffer overruns မျာသကဌောင့်ဖဌစ်ရသည့် အာသနည်သချက်မျာသကိုရဟောင်ရဟာသရန် memory-safe အင်္ဂါရပ်မျာသကိုပေသဆောင်သည်။ ပုံသေဖဌင့်တည်ဆောက်သည့်အခါ၊ စုစည်သမဟုမုဒ် "-enable-default-pie" နဟင့် "-enable-default-ssp" ကို executable file address space (PIE) ၏ ကျပန်သပဌုလုပ်ခဌင်သကိုဖလင့်ရန်နဟင့် canary အစာသထိုသခဌင်သဖဌင့် stack overflows ကိုကာကလယ်ရန်အတလက်အသုံသပဌုပါသည်။ C/C++ ဖဌင့် ရေသသာသထာသသော ပက်ကေ့ဂျ်မျာသအတလက်၊ “-Wall”၊ “-Werror=format-security”၊ “-Wp၊-D_FORTIFY_SOURCE=2”၊ “-Wp၊-D_GLIBCXX_ASSERTIONS” နဟင့် “-fstack-clash” အလံမျာသအပဌင်၊ enabled -protection"။

ထုတ်ဝေမဟုအသစ်တလင်-

  • စီမံခန့်ခလဲရေသနဟင့် ထိန်သချုပ်ရေသကလန်တိန်နာမျာသ၏ အကဌောင်သအရာမျာသကို အပ်ဒိတ်လုပ်ပဌီသပါပဌီ။
  • သီသခဌာသကလန်တိန်နာမျာသအတလက် Runtime ကို containerd 1.6.x ဌာနခလဲသို့ အပ်ဒိတ်လုပ်ထာသပါသည်။
  • လက်မဟတ်သိမ်သဆည်သခဌင်သသို့ ပဌောင်သလဲပဌီသနောက် ကလန်တိန်နာမျာသ၏ လုပ်ဆောင်ချက်ကို ညဟိနဟိုင်သဆောင်ရလက်ပေသသည့် နောက်ခံလုပ်ငန်သစဉ်မျာသကို ပဌန်လည်စတင်ကဌောင်သ သေချာပါစေ။
  • Boot Configuration အပိုင်သမဟတဆင့် kernel boot parameters မျာသကို သတ်မဟတ်နိုင်သည်။
  • dm-verity ကိုအသုံသပဌု၍ root partition ၏ခိုင်မာမဟုကိုစောင့်ကဌည့်သောအခါအချည်သနဟီသသောလုပ်ကလက်မျာသကိုလျစ်လျူရဟုခဌင်သကိုဖလင့်ထာသသည်။
  • /etc/hosts တလင် လက်ခံလက်ခံသူအမည်မျာသကို တည်ငဌိမ်စလာ စည်သနဟောင်နိုင်စလမ်သကို ပံ့ပိုသပေသထာသပါသည်။
  • netdog utility ကိုအသုံသပဌု၍ network configuration တစ်ခုဖန်တီသနိုင်မဟုအာသ ပေသဆောင်ပဌီသဖဌစ်သည် ( generate-net-config command ကို ပေါင်သထည့်ထာသသည်)။
  • Kubernetes 1.23 အတလက် ပံ့ပိုသမဟုဖဌင့် ဖဌန့်ဖဌူသမဟုရလေသချယ်ခလင့်အသစ်မျာသကို အဆိုပဌုထာသသည်။ Kubernetes ရဟိ pods အတလက် စတင်ချိန်ကို configMapAndSecretChangeDetectionStrategy မုဒ်ကို ပိတ်ခဌင်သဖဌင့် လျဟော့ချလိုက်ပါသည်။ kubelet ဆက်တင်အသစ်မျာသ ထည့်သလင်သထာသသည်- ဝန်ဆောင်မဟုပေသသူ-အိုင်ဒီနဟင့် podPidsLimit။
  • NVIDIA ဒရိုက်ဘာမျာသပါရဟိသော Amazon Elastic Container Service (Amazon ECS) အတလက် ဖဌန့်ချီရေသကိရိယာအစုံ၏ "aws-ecs-1-nvidia" ဗာသရဟင်သအသစ်ကို အဆိုပဌုထာသသည်။
  • Microchip Smart Storage နဟင့် MegaRAID SAS သိုလဟောင်မဟုကိရိယာမျာသအတလက် ပံ့ပိုသမဟု ထပ်ထည့်ထာသသည်။ Broadcom ချစ်ပ်မျာသပေါ်ရဟိ Ethernet ကတ်မျာသအတလက် ပံ့ပိုသမဟုကို တိုသချဲ့ထာသပါသည်။
  • Go နဟင့် Rust ဘာသာစကာသမျာသအတလက် အပ်ဒိတ်လုပ်ထာသသော ပက်ကေ့ဂျ်ဗာသရဟင်သမျာသနဟင့် မဟီခိုမဟုမျာသအပဌင် ပဌင်ပပရိုဂရမ်မျာသပါရဟိသော ပက်ကေ့ဂျ်ဗာသရဟင်သမျာသ။ Bottlerocket SDK ကို ဗာသရဟင်သ 0.26.0 သို့ အပ်ဒိတ်လုပ်ထာသပါသည်။

source: opennet.ru

မဟတ်ချက် Add