Kubernetes ကို ပိုကောင်းစေမည့် ကိရိယာ ၁၁ ခု

Kubernetes ကို ပိုကောင်းစေမည့် ကိရိယာ ၁၁ ခု

အစွမ်းထက်ဆုံးနှင့် အတိုင်းအတာအထိ ဆာဗာအားလုံးသည် လိုအပ်ချက်အားလုံးကို ဖြည့်ဆည်းပေးနိုင်သည်မဟုတ်ပါ။ Kubernetes သည် သူ့ဘာသာသူ ကောင်းမွန်စွာ အလုပ်လုပ်သော်လည်း ပြီးပြည့်စုံရန် မှန်ကန်သော အပိုင်းများ ချို့တဲ့နိုင်ပါသည်။ သင့်လိုအပ်ချက်ကို လျစ်လျူရှုသော အထူးကိစ္စရပ်တစ်ခု သို့မဟုတ် ဒေတာဘေ့စ်ပံ့ပိုးမှု သို့မဟုတ် CD လည်ပတ်မှုကဲ့သို့ ပုံသေထည့်သွင်းမှုတွင် Kubernetes အလုပ်မလုပ်သည့်နေရာတွင် သင်အမြဲတွေ့လိမ့်မည်။

ဤကွန်တိန်နာသံစုံတီးဝိုင်းအတွက် အပိုပရိုဂရမ်များ၊ တိုးချဲ့မှုများနှင့် အခြားသော အကျိုးကျေးဇူးများကို အကျယ်ဆုံးအသိုင်းအဝိုင်းက ပံ့ပိုးပေးသည့် ဤနေရာတွင် ပေါ်လာပါသည်။ ဤဆောင်းပါးတွင် ကျွန်ုပ်တို့တွေ့ရှိခဲ့သော အကောင်းဆုံးအရာ ၁၁ ခုကို ဖော်ပြပါမည်။ ငါတို့ကိုယ်တိုင်ဝင်တယ်။ တောင်တံတား ၎င်းတို့သည် အလွန်စိတ်ဝင်စားစရာကောင်းပြီး ၎င်းတို့ကို လက်တွေ့ကျကျ ကိုင်တွယ်ဖြေရှင်းရန် ကျွန်ုပ်တို့ စီစဉ်ထားသည် - ၎င်းတို့ကို ဝက်အူများနှင့် အခွံမာသီးများအဖြစ် ခွဲထုတ်ပြီး အတွင်းဘက်တွင် ဘာပါရှိသည်ကို ကြည့်ရှုရန် စီစဉ်ထားသည်။ ၎င်းတို့ထဲမှ အချို့သည် မည်သည့် Kubernetes အစုအဝေးကိုမဆို ပြီးပြည့်စုံစွာ ဖြည့်စွမ်းပေးမည်ဖြစ်ပြီး အခြားအရာများသည် ပုံမှန် Kubernetes ဖြန့်ဖြူးမှုတွင် အကောင်အထည်မဖော်နိုင်သော သီးခြားလုပ်ဆောင်မှုများကို ကူညီဖြေရှင်းပေးမည်ဖြစ်သည်။

ဂိတ်စောင့်- မူဝါဒစီမံခန့်ခွဲမှု

စီမံကိန်း၏ မူဝါဒအေးဂျင့်ဖွင့်ပါ။ (OPA) သည် Kubernetes ရှိ cloud အပလီကေးရှင်းစတန်းများထိပ်တွင် မူဝါဒများကို ဖန်တီးနိုင်သည်၊ အဝင်မှသည် ဝန်ဆောင်မှု mesh အထိဖြစ်သည်။ တံခါးစောင့် Kubernetes သည် အစုအဖွဲ့ပေါ်ရှိ မူဝါဒများကို အလိုအလျောက် ကျင့်သုံးရန် ဇာတိစွမ်းရည်ကို ပေးသည့်အပြင် မူဝါဒကို ချိုးဖောက်သည့် မည်သည့်ဖြစ်ရပ်များ သို့မဟုတ် အရင်းအမြစ်များကိုမဆို စစ်ဆေးခြင်းကိုလည်း ပေးပါသည်။ ဤအရာအားလုံးကို အရင်းအမြစ်များပြောင်းလဲသောအခါ အလုပ်ဖြုတ်သည့် Webhooks ဝင်ခွင့်မန်နေဂျာက အတော်လေးအသစ် Kubernetes ယန္တရားက ကိုင်တွယ်သည်။ Gatekeeper ဖြင့်၊ OPA မူဝါဒများသည် အမြဲမပြတ် ကြီးကြပ်နေရန် မလိုအပ်ဘဲ သင်၏ Kubernetes အစုအဝေး၏ အခြားအစိတ်အပိုင်း ဖြစ်လာပါသည်။

ဆွဲငင်အား- ခရီးဆောင် Kubernetes အစုအဝေးများ

Kubernetes တွင် အက်ပလီကေးရှင်းတစ်ခု ထုတ်လိုပါက၊ အပလီကေးရှင်းများစွာတွင် ဤလုပ်ငန်းစဉ်ကို လမ်းညွှန်ပြီး အလိုအလျောက်ဖြစ်စေသော Helm ဇယားတစ်ခုရှိသည်။ သို့သော် သင်၏ Kubernetes အစုအဝေးကို "ပုံစံအတိုင်း" ယူပြီး အခြားတစ်နေရာသို့ လွှင့်ထုတ်လိုပါက အဘယ်နည်း။

အရေးကြီးမှု Kubernetes အစုအဝေးများ၏ လျှပ်တစ်ပြက်ရိုက်ချက်များ၊ ကွန်တိန်နာပုံများအတွက် ၎င်းတို့၏ မှတ်ပုံတင်ခြင်းအပြင် "အပလီကေးရှင်း ပက်ကေ့ဂျ်များ" ဟုခေါ်သော အပလီကေးရှင်းများကို လုပ်ဆောင်နေပါသည်။ ပုံမှန်ဖိုင်တစ်ခုဖြစ်သည့် ပက်ကေ့ခ်ျတစ်ခုဖြစ်သည်။ .tarKubernetes လည်ပတ်နိုင်သည့်နေရာတိုင်းတွင် အစုအဝေးကို ပုံတူပွားနိုင်သည်။

Gravity သည် ပစ်မှတ်အခြေခံအဆောက်အအုံသည် အရင်းအမြစ်အခြေခံအဆောက်အအုံနှင့် တူညီကြောင်းနှင့် ပစ်မှတ်ရှိ Kubernetes ပတ်ဝန်းကျင်ကို ရရှိနိုင်ကြောင်းကိုလည်း စစ်ဆေးပါသည်။ Gravity ၏ အခပေးဗားရှင်းတွင် RBAC အပါအဝင် လုံခြုံရေးအင်္ဂါရပ်များနှင့် မတူညီသော အစုလိုက်အပြုံလိုက် ဖြန့်ကျက်မှုများတွင် လုံခြုံရေးဆက်တင်များကို တစ်ပြိုင်တည်းလုပ်ဆောင်နိုင်စွမ်းလည်း ပါဝင်သည်။

နောက်ဆုံးထွက်ရှိထားသော Gravity 7 သည် Gravity ပုံတစ်ပုံကို လက်ရှိ Kubernetes အစုအဝေးတစ်ခုသို့ တွန်းပို့နိုင်ပြီး၊ ပုံမှ လုံးဝအသစ်သော အစုအဝေးတစ်ခုကို လှည့်ပတ်မည့်အစား၊ Gravity 7 သည် Gravity ပုံကို အသုံးမပြုဘဲ ထည့်သွင်းထားသော အစုအဝေးများနှင့်လည်း လုပ်ဆောင်နိုင်သည်။ Gravity သည် SELinux ကို ထောက်ပံ့ပေးပြီး Teleport SSH gateway ဖြင့် အလုပ်လုပ်ပါသည်။

Kaniko- Kubernetes Cluster တွင် ကွန်တိန်နာများ တည်ဆောက်ခြင်း။

ကွန်တိန်နာပုံအများစုသည် ကွန်တိန်နာပုံများအပြင်ဘက်ရှိ စနစ်များတွင် တည်ဆောက်ထားသည်။ သို့သော်၊ တစ်ခါတစ်ရံတွင် သင်သည် လည်ပတ်နေသည့် ကွန်တိန်နာရှိ တစ်နေရာရာ သို့မဟုတ် Kubernetes အစုအဝေးတွင်ကဲ့သို့သော ကွန်တိန်နာအစုအဝေးအတွင်းတွင် ပုံတည်ဆောက်ရန် လိုအပ်သည်။

Kaniko ကွန်တိန်နာပတ်ဝန်းကျင်အတွင်း၌ ကွန်တိန်နာများကို တည်ဆောက်သော်လည်း Docker ကဲ့သို့သော ကွန်တိန်နာဝန်ဆောင်မှုအပေါ် မူတည်ခြင်းမရှိပါ။ ယင်းအစား၊ Kaniko သည် ဖိုင်စနစ်အား အခြေခံပုံမှ ထုတ်ယူပြီး ထုတ်ယူထားသော ဖိုင်စနစ်၏ထိပ်ရှိ user-space build command အားလုံးကို လုပ်ဆောင်ပြီး command တစ်ခုစီပြီးနောက် ဖိုင်စနစ်၏ လျှပ်တစ်ပြက်ပုံတစ်ပုံကို ရယူသည်။

မှတ်ချက်- Kaniko သည် လက်ရှိ (မေလ 2020 ခုနှစ်၊ အနီးစပ်ဆုံး ဘာသာပြန်သူ) Windows ကွန်တိန်နာများကို မတည်ဆောက်နိုင်ပါ။

Kubecost- Kubernetes စတင်ခြင်းကုန်ကျစရိတ် ရွေးချယ်စရာများ

Kubernetes စီမံခန့်ခွဲရေးကိရိယာအများစုသည် အသုံးပြုရလွယ်ကူခြင်း၊ စောင့်ကြည့်ခြင်း၊ pod အတွင်းရှိ အပြုအမူကို နားလည်ခြင်းစသည်ဖြင့် အာရုံစိုက်သည်။ သို့သော် Kubernetes ၏ပစ်လွှတ်မှုနှင့်ဆက်စပ်နေသောကုန်ကျစရိတ် - ရူဘယ်နှင့် kopecks - ကုန်ကျစရိတ်ကိုစောင့်ကြည့်ခြင်းနှင့်ပတ်သက်၍ကော။

Kubecost ကြီးမားသော cloud ဝန်ဆောင်မှုပေးသူများရှိ အစုအဝေးများမှ လည်ပတ်နေသော အစုအဝေးများမှ နောက်ဆုံးပေါ် ကုန်ကျစရိတ်အချက်အလက်များကို အချိန်နှင့်တပြေးညီ Kubernetes ဘောင်များကို စီမံဆောင်ရွက်ပေးပြီး အစုအဝေးတစ်ခုလျှင် လစဉ်ကုန်ကျစရိတ်ဖြင့် ပြသထားသည်။ RAM၊ CPU အချိန်၊ GPU နှင့် disk စနစ်ခွဲများအတွက် စျေးနှုန်းများကို Kubernetes အစိတ်အပိုင်းများ (ကွန်တိန်နာ၊ ပေါ့ဒ်၊ ဝန်ဆောင်မှု စသည်) ဖြင့် ပိုင်းခြားထားသည်။

Kubecost သည် AWS မှကန့်သတ်ထားသော်လည်း Amazon S3 ပုံးကဲ့သို့သောအစုအဝေးမဟုတ်သောအရင်းအမြစ်များ၏ကုန်ကျစရိတ်ကိုလည်းခြေရာခံသည်။ ကုန်ကျစရိတ်ဒေတာကို Prometheus သို့ ပေးပို့နိုင်သောကြောင့် အစုအဖွဲ့၏ အပြုအမူကို ပရိုဂရမ်ကျကျ ပြောင်းလဲရန် ၎င်းကို အသုံးပြုနိုင်သည်။

15 ရက်အတွင်း မှတ်တမ်းဒေတာ အလုံအလောက်ရှိပါက Kubecost ကို အခမဲ့အသုံးပြုနိုင်ပါသည်။ ထပ်လောင်းဝန်ဆောင်မှုများအတွက်၊ စျေးနှုန်းသည် node 199 ကိုစောင့်ကြည့်ရန်အတွက်လစဉ် $50 မှစတင်သည်။

KubeDB- Kubernetes တွင် တိုက်ပွဲဒေတာဘေ့စ်များကို လုပ်ဆောင်နေသည်။

ဒေတာဘေ့စ်များသည် Kubernetes တွင် အံ့မခန်းလုပ်ဆောင်ရန်လည်း ခက်ခဲပါသည်။ MySQL၊ PostgreSQL၊ MongoDB နှင့် Redis အတွက် Kubernetes အော်ပရေတာများကို သင်တွေ့နိုင်သော်လည်း ၎င်းတို့အားလုံးတွင် အားနည်းချက်များရှိသည်။ ထို့အပြင်၊ ပုံမှန် Kubernetes အင်္ဂါရပ်အစုံသည် သတ်မှတ်ထားသော ဒေတာဘေ့စ်ပြဿနာအများစုကို တိုက်ရိုက်မဖြေရှင်းနိုင်ပါ။

KubeDB ဒေတာဘေ့စ်စီမံခန့်ခွဲမှုအတွက် သင်၏ Kubernetes ထုတ်ပြန်ချက်များကို ဖန်တီးရန် ကူညီပေးသည်။ အရန်သိမ်းဆည်းမှုများ လုပ်ဆောင်ခြင်း၊ ပုံတူပွားခြင်း၊ စောင့်ကြည့်ခြင်း၊ လျှပ်တစ်ပြက်ရိုက်ချက်များနှင့် ကြေငြာဒေတာဘေ့စ်ဖန်တီးခြင်းတို့သည် ၎င်း၏ အစိတ်အပိုင်းများဖြစ်သည်။ အင်္ဂါရပ်ပံ့ပိုးမှုသည် ဒေတာဘေ့စ်ပေါ်တွင် မူတည်ကြောင်း သတိပြုပါ။ ဥပမာအားဖြင့်၊ အစုအဝေးတစ်ခုဖန်တီးခြင်းသည် PostgreSQL အတွက် အလုပ်လုပ်သော်လည်း MySQL အတွက်မဟုတ် (ပြီးပြီ အမှန်အတိုင်း ထောက်ပြတာ ရှိတယ်။ dnbstd, အနီးစပ်ဆုံး ဘာသာပြန်သူ).

Kube-monkey- Kubernetes အတွက် Chaos Monkey

စိတ်ဖိစီးမှုစမ်းသပ်ခြင်း၏ အမှားအယွင်းအကင်းဆုံးနည်းလမ်းကို ကျပန်းပြိုကွဲမှုများဟု သတ်မှတ်သည်။ ဤသီအိုရီသည် ပိုမိုခံနိုင်ရည်ရှိသောစနစ်များတည်ဆောက်ရန် developer များအား လှုံ့ဆော်ပေးရန်အတွက် virtual machines များနှင့် production environment containers များကို ကျပန်းပိတ်ပစ်သည့် ဖရိုဖရဲအင်ဂျင်နီယာတူးလ်ဖြစ်သည့် Netflix ၏ Chaos Monkey ၏ဗဟိုချက်ဖြစ်သည်။ kube-မျောက် - Kubernetes အစုအဝေးများအတွက် တူညီသောအခြေခံသီအိုရီအား ဖိစီးမှုစမ်းသပ်ခြင်းအား အကောင်အထည်ဖော်ခြင်း။ ၎င်းသည် သင်သတ်မှတ်ထားသော အစုအဝေးရှိ မော်ဂျူးများကို ကျပန်းသတ်ခြင်းဖြင့် အလုပ်လုပ်နိုင်ပြီး တိကျသောအချိန်ကြားကာလတွင် လုပ်ဆောင်ရန်လည်း သတ်မှတ်နိုင်သည်။

AWS အတွက် Kubernetes Ingress Controller

Kubernetes ဟုခေါ်သော ဝန်ဆောင်မှုမှတစ်ဆင့် ပြင်ပဝန်ချိန်ခွင်လျှာနှင့် အစုလိုက်ကွန်ရက်ချိတ်ဆက်ခြင်းဝန်ဆောင်မှုများကို ပံ့ပိုးပေးပါသည်။ Ingress AWS သည် ဝန်ချိန်ညှိခြင်းအင်္ဂါရပ်များကို ပံ့ပိုးပေးသော်လည်း ၎င်းတို့ကို တူညီသော Kubernetes အင်္ဂါရပ်များဖြင့် အလိုအလျောက် စုစည်းထားခြင်းမရှိပါ။ AWS အတွက် Kubernetes Ingress Controller ဤကွာဟချက်ကိုပိတ်သည်။

၎င်းသည် အစုအဝေးရှိ အဝင်တစ်ခုစီအတွက် AWS ရင်းမြစ်များကို အလိုအလျောက် စီမံခန့်ခွဲပေးသည်၊ အဝင်ရင်းမြစ်အသစ်များအတွက် load balancers ကို ဖန်တီးကာ အရင်းအမြစ်များကို ဖယ်ရှားလိုက်သောအခါ load balancers များကို ဖျက်ပစ်ပါသည်။ အစုအစည်း၏ အခြေအနေသည် တသမတ်တည်း ရှိနေကြောင်း သေချာစေရန် ၎င်းသည် CloudFormation ကို အသုံးပြုသည်။ ၎င်းသည် CloudWatch Alarm ဆက်တင်များကို ပံ့ပိုးပေးပြီး SSL လက်မှတ်များနှင့် EC2 အော်တိုစကေးအုပ်စုများကဲ့သို့သော အစုအဝေးတွင် အသုံးပြုသည့် အခြားဒြပ်စင်များကို အလိုအလျောက် စီမံခန့်ခွဲပါသည်။

Kubespray- Kubernetes အလိုအလျောက် တပ်ဆင်ခြင်း။

Kubespray ဟာ့ဒ်ဝဲဆာဗာများပေါ်တွင် တပ်ဆင်ခြင်းမှ အများသူငှာ cloud များအထိ ထုတ်လုပ်ရန်အဆင်သင့်ရှိသော Kubernetes အစုအဝေးတစ်ခု၏ တပ်ဆင်မှုကို အလိုအလျောက်လုပ်ဆောင်သည်။ ဟာ့ဒ်ဝဲဆာဗာများပေါ်တွင် ထည့်သွင်းသောအခါတွင် သင်ရွေးချယ်သည့် ကွန်ရက်အပိုပရိုဂရမ်များ (Flannel, Calico, etc.) ဖြင့် ဖြန့်ကျက်မှုစတင်ရန် Ansible (Vagrant optional) ကို အသုံးပြုပြီး အသုံးပြုနိုင်မှု မြင့်မားသော အစုအဝေးတစ်ခုကို အစမှအဆုံး ဖန်တီးပါ။

Skaffold- Kubernetes အတွက် ထပ်တလဲလဲ ဖွံ့ဖြိုးတိုးတက်မှု

တံကျင် - Kubernetes ရှိ အပလီကေးရှင်း CD များကို စုစည်းရန် အသုံးပြုသည့် Google ကိရိယာများထဲမှ တစ်ခု။ အရင်းအမြစ်ကုဒ်ကို အပြောင်းအလဲလုပ်သည်နှင့်တပြိုင်နက် skaffold သည် ၎င်းကို အလိုအလျောက်သိရှိပြီး၊ တည်ဆောက်ခြင်းနှင့် စတင်အသုံးပြုပြီး အမှားအယွင်းများရှိပါက သင့်ကိုသတိပေးသည်။ Skaffold သည် client ဘက်တွင် လုံးလုံးလျားလျား အလုပ်လုပ်သည်၊ ထို့ကြောင့် တပ်ဆင်ခြင်း သို့မဟုတ် အပ်ဒိတ်လုပ်ခြင်းတွင် အနည်းငယ်ကွဲလွဲမှုများ ရှိနိုင်ပါသည်။ ၎င်းကို လက်ရှိ CICD ပိုက်လိုင်းများနှင့် အသုံးပြုနိုင်သည့်အပြင် အဓိကအားဖြင့် Google ၏ Bazel အချို့သော ပြင်ပတည်ဆောက်ရေးကိရိယာများနှင့် အပြန်အလှန်အကျိုးသက်ရောက်စေနိုင်သည်။

Teresa- Kubernetes တွင် အရိုးရှင်းဆုံး PaaS

ထရေဇာ Kubernetes ၏ထိပ်တွင် ရိုးရှင်းသော PaaS ကို လုပ်ဆောင်သည့် အပလီကေးရှင်း ဖြန့်ကျက်မှုစနစ်တစ်ခုဖြစ်သည်။ အဖွဲ့လိုက်အသုံးပြုသူများသည် ၎င်းတို့၏ကိုယ်ပိုင်အက်ပ်လီကေးရှင်းများကို အသုံးပြု၍ စီမံခန့်ခွဲနိုင်သည်။ ၎င်းသည် ဤအပလီကေးရှင်းကိုယုံကြည်ပြီး Kubernetes နှင့် ၎င်း၏ရှုပ်ထွေးမှုများအားလုံးကို မကိုင်တွယ်လိုသူများအတွက် အနည်းငယ်ပိုမိုလွယ်ကူစေသည်။

စောင်း- Kubernetes အစုအဝေးများသို့ ကွန်တိန်နာအပ်ဒိတ်များကို တိုက်ရိုက်ထုတ်လွှင့်ပါ။

tiltWindmill Engineering မှ ဖန်တီးထားသော၊ ကွဲပြားခြားနားသော Dockerfiles များသို့ ပြောင်းလဲမှုများကို စောင့်ကြည့်ပြီး သင့်လျော်သော ကွန်တိန်နာများကို Kubernetes အစုအဝေးသို့ အဆင့်ဆင့် ဖြန့်ကျက်ချထားပါသည်။ အနှစ်သာရအားဖြင့်၊ ၎င်းသည် Dockerfiles ကို အဆင့်မြှင့်တင်ခြင်းဖြင့် ထုတ်လုပ်မှုအစုအဝေးကို အချိန်နှင့်တပြေးညီ အပ်ဒိတ်လုပ်ရန် ခွင့်ပြုသည်။ စောင်းသည် အစုအဝေးအတွင်း တည်ဆောက်သည်၊ အရင်းအမြစ်ကုဒ်သည် ပြောင်းလဲရန် လိုအပ်သည့်အရာအားလုံးဖြစ်သည်။ အမှားရှာပြင်ခြင်းအတွက် အဖွဲ့၀င်များနှင့် မျှဝေရန်အတွက် အစုအဖွဲ့အခြေအနေ၏ လျှပ်တစ်ပြက်ရိုက်ချက်ကိုလည်း Tilt မှ တိုက်ရိုက်ဖမ်းယူနိုင်သည်။

PS ဤကိရိယာများအားလုံးကို ကျွန်ုပ်တို့ အကြိမ်ကြိမ် သွင်းထားသည်။ တောင်တံတား ကျွန်ုပ်တို့၏ စူးစမ်းလိုစိတ်ရှိသော လက်များဖြင့် စုံစမ်းပါ။ ဖေဖေါ်ဝါရီလတွင် အော့ဖ်လိုင်းအကြိတ်အနယ်များ တွင် လက်တွေ့အလေ့အကျင့်များကို တင်ပြရန် (မျှော်လင့်ထားပါသည်!) Kubernetes အခြေစိုက်စခန်း ဖေဖော်ဝါရီ ၈-၁၀၊ ၂၀၂၁။ နှင့် Kubernetes Mega ဖေဖော်ဝါရီ ၁၂–၁၄။ ရိုးရိုးသားသားပြောရရင်၊ အော့ဖ်လိုင်းသင်ယူခြင်းရဲ့ နွေးထွေးပြီး အားထက်သန်တဲ့ အားအပြည့်ရှိတဲ့ အငွေ့အသက်ကိုလည်း လွတ်သွားတယ်။ မည်မျှအဆင့်မြင့်သောနည်းပညာများ ရှိပါစေ၊ စိတ်တူကိုယ်တူလူများစုရုံးသောအခါတွင် ၎င်းတို့သည် တိုက်ရိုက်လူ့ဆက်သွယ်မှုနှင့် အထူးအငွေ့အသက်များကို အစားထိုးမည်မဟုတ်ပါ။

source: www.habr.com

မှတ်ချက် Add