Helm 3 ကို မိတ်ဆက်ခြင်း။

Helm 3 ကို မိတ်ဆက်ခြင်း။

မှတ်ချက်။ ဘာသာပြန်- ယခုနှစ် မေလ 16 ရက်နေ့သည် Kubernetes - Helm အတွက် ပက်ကေ့ဂျ်မန်နေဂျာ၏ ဖွံ့ဖြိုးတိုးတက်မှုတွင် သိသာထင်ရှားသော မှတ်တိုင်တစ်ခုဖြစ်သည်။ ဤနေ့တွင်၊ ပရောဂျက်၏အနာဂတ်အဓိကဗားရှင်း - 3.0 - ၏ပထမဆုံး alpha ထွက်ရှိမှုကိုတင်ပြခဲ့သည်။ ၎င်း၏ထုတ်ဝေမှုသည် Kubernetes အသိုက်အဝန်းရှိများစွာသောမျှော်လင့်ချက်မြင့်မားသော Helm သို့သိသာထင်ရှားပြီးကြာရှည်စွာစောင့်ဆိုင်းခဲ့သောအပြောင်းအလဲများကိုဆောင်ကြဉ်းပေးလိမ့်မည်။ ကျွန်ုပ်တို့ကိုယ်တိုင်သည် အပလီကေးရှင်းဖြန့်ကျက်မှုအတွက် Helm ကိုတက်ကြွစွာအသုံးပြုသောကြောင့်၊ ကျွန်ုပ်တို့သည် ၎င်းကို CI/CD အကောင်အထည်ဖော်ရန်အတွက် ကျွန်ုပ်တို့၏တူးလ်တွင် ပေါင်းစပ်ထားသည်။ werf ပြီးတော့ အထက်ပိုင်း ဖွံ့ဖြိုးတိုးတက်ရေး အတွက် ရံဖန်ရံခါ ပံ့ပိုးကူညီမှုတွေ လုပ်တယ်။ ဤဘာသာပြန်ချက်သည် Helm 7 ၏ ပထမဆုံး အယ်လ်ဖာထွက်ရှိမှုအတွက် ရည်ရွယ်ထားသည့် တရားဝင် Helm ဘလော့ဂ်မှ မှတ်စု 3 ခုကို ပေါင်းစပ်ထားပြီး ပရောဂျက်၏သမိုင်းကြောင်းနှင့် Helm 3 ၏ အဓိကအင်္ဂါရပ်များအကြောင်း ပြောဆိုထားသည်။ ၎င်းတို့၏စာရေးဆရာမှာ Microsoft ဝန်ထမ်း Matt “bacongobbler” Fisher ဖြစ်သည်။ Helm ၏ အဓိက ထိန်းသိမ်းသူ တစ်ဦးလည်း ဖြစ်သည်။

15 ခုနှစ် အောက်တိုဘာလ 2015 ရက်နေ့တွင် Helm ဟုလူသိများသောပရောဂျက်ကိုမွေးဖွားခဲ့သည်။ စတင်တည်ထောင်ပြီး တစ်နှစ်အကြာတွင် Helm အသိုင်းအဝိုင်းသည် Helm 2 တွင် တက်ကြွစွာ လုပ်ဆောင်နေစဉ် Kubernetes နှင့် ပူးပေါင်းခဲ့သည်။ ဇွန်လ 2018 ခုနှစ်တွင် Helm CNCF တွင် ပါဝင်ခဲ့သည်။ ဖွံ့ဖြိုးဆဲ (ပျိုးထောင်ခြင်း) ပရောဂျက်အဖြစ်။ ပစ္စုပ္ပန်ကို အမြန်ရှေ့ဆက်ပါ၊ Helm 3 အသစ်၏ ပထမဆုံး အယ်လ်ဖာထွက်ရှိမှုကို စတင်နေပြီဖြစ်သည်။ (ဤထုတ်ဝေမှု နေရာယူထားပြီးဖြစ်သည်။ မေလလယ်တွင် - ခန့်မှန်းခြေ။ ဘာသာပြန်။).

ဤဆောင်းပါးတွင်၊ အားလုံးစတင်ခဲ့ရာ၊ ယနေ့ကျွန်ုပ်တို့ရှိရာသို့ မည်သို့ရောက်ရှိခဲ့ကြောင်း၊ Helm 3 ၏ ပထမအယ်လ်ဖာထွက်ရှိမှုတွင် ရရှိနိုင်သော ထူးခြားသောအင်္ဂါရပ်အချို့ကို မိတ်ဆက်ပြီး နောက်ထပ်ဖွံ့ဖြိုးတိုးတက်ရန် ကျွန်ုပ်တို့အစီအစဉ်ကို ရှင်းပြပါမည်။

အကျဉ်းချုပ် -

  • Helm ၏ဖန်တီးမှုသမိုင်း;
  • Tiller အား နူးညံ့စွာ နှုတ်ဆက်ခြင်း၊
  • ဇယားသိမ်းဆည်းမှုများ၊
  • ထုတ်ဝေမှုစီမံခန့်ခွဲမှု
  • ဇယားမှီခိုမှုအပြောင်းအလဲများ၊
  • စာကြည့်တိုက်ဇယားများ၊
  • နောက်တစ်ခုကဘာလဲ?

Helm ၏သမိုင်း

ကလေးမွေးဖွား

Helm 1 သည် Deis ဖန်တီးထားသော Open Source ပရောဂျက်တစ်ခုအနေဖြင့် စတင်ခဲ့သည်။ ကျွန်ုပ်တို့သည် သေးငယ်သော စတင်မှုတစ်ခု ဖြစ်ခဲ့သည်။ စုပ်ယူသည်။ Microsoft သည် 2017 ခုနှစ် နွေဦးရာသီ။ Deis ဟုလည်း အမည်ပေးထားသည့် ကျွန်ုပ်တို့၏ အခြားသော Open Source ပရောဂျက်တွင် ကိရိယာတစ်ခုရှိသည်။ deisctlDeis ပလပ်ဖောင်းကို ထည့်သွင်းပြီး လည်ပတ်ရန်အတွက် (အခြားအရာများကြားတွင်) အသုံးပြုခဲ့သည်။ ရေယာဉ်စု. ထိုအချိန်တွင် Fleet သည် ပထမဆုံး ကွန်တိန်နာ တီးမှုတ်သည့် ပလက်ဖောင်းများထဲမှ တစ်ခုဖြစ်သည်။

2015 နှစ်လယ်တွင် သင်တန်းပြောင်းရန် ဆုံးဖြတ်ပြီး Deis (ထိုအချိန်က Deis Workflow ဟုအမည်ပြောင်း) Fleet မှ Kubernetes သို့ ပြောင်းရွှေ့ခဲ့သည်။ ဒီဇိုင်းပြန်လည်ရေးဆွဲရမည့် ပထမဆုံးတစ်ခုမှာ တပ်ဆင်ခြင်းကိရိယာဖြစ်သည်။ deisctl. Fleet cluster တွင် Deis Workflow ကို ထည့်သွင်းပြီး စီမံခန့်ခွဲရန် ၎င်းကို အသုံးပြုခဲ့သည်။

Helm 1 ကို Homebrew၊ apt နှင့် yum ကဲ့သို့သော နာမည်ကြီး ပက်ကေ့ဂျ်မန်နေဂျာများ၏ ပုံဖြင့် ဖန်တီးထားသည်။ ၎င်း၏အဓိကရည်ရွယ်ချက်မှာ Kubernetes တွင် ထုပ်ပိုးခြင်းနှင့် အက်ပ်လီကေးရှင်းများ ထည့်သွင်းခြင်းကဲ့သို့သော လုပ်ငန်းများကို ရိုးရှင်းစေရန်ဖြစ်သည်။ Helm ကို ဆန်ဖရန်စစ္စကိုရှိ KubeCon ညီလာခံတွင် 2015 ခုနှစ်တွင် တရားဝင်မိတ်ဆက်ခဲ့သည်။

Helm နှင့်ကျွန်ုပ်တို့၏ပထမဆုံးကြိုးစားမှုမှာ အောင်မြင်သော်လည်း ကြီးလေးသောကန့်သတ်ချက်များမပါဝင်ပါ။ မိတ်ဆက် YAML တုံးများအဖြစ် မီးစက်များဖြင့် အရသာခံထားသော Kubernetes သရုပ်ဖော်ပုံအစုံကို ယူခဲ့သည် (ရှေ့ရေးကိစ္စ)* နှင့် ရလဒ်များကို Kubernetes တွင် တင်ထားသည်။

* မှတ်ချက်။ ဘာသာပြန်− Helm ၏ ပထမဗားရှင်းမှ၊ YAML syntax အား Kubernetes ရင်းမြစ်များကို ဖော်ပြရန် ရွေးချယ်ထားပြီး ဖွဲ့စည်းမှုပုံစံများကို ရေးသားသည့်အခါ Jinja နမူနာများနှင့် Python script များကို ပံ့ပိုးပေးထားသည်။ ဤအကြောင်းနှင့် ယေဘူယျအားဖြင့် Helm ၏ ပထမဗားရှင်း၏ ဖွဲ့စည်းပုံကို ကျွန်ုပ်တို့ နောက်ထပ်ရေးသားခဲ့သည် “A Brief History of Helm” အခန်း၊ ဤပစ္စည်း.

ဥပမာအားဖြင့်၊ YAML ဖိုင်ရှိ အကွက်တစ်ခုကို အစားထိုးရန်၊ သင်သည် အောက်ပါတည်ဆောက်ပုံအား မန်နီးဖက်စ်တွင် ထည့်ရပါမည်-

#helm:generate sed -i -e s|ubuntu-debootstrap|fluffy-bunny| my/pod.yaml

ယနေ့ခေတ် template အင်ဂျင်တွေရှိနေတာ အရမ်းကောင်းတယ်မဟုတ်လား?

အကြောင်းရင်းများစွာအတွက်၊ ဤ Kubernetes အစောပိုင်းထည့်သွင်းသူသည် ဟာ့ဒ်ကုဒ်လုပ်ထားသော မန်နီးဖက်စ်ဖိုင်များစာရင်းကို လိုအပ်ပြီး သေးငယ်ပြီး ပုံသေအစီအစဉ်များကိုသာ လုပ်ဆောင်ခဲ့သည်။ Deis Workflow R&D အဖွဲ့သည် ၎င်းတို့၏ထုတ်ကုန်ကို ဤပလပ်ဖောင်းသို့ လွှဲပြောင်းရန် ကြိုးစားသောအခါတွင် အခက်တွေ့နေသော်လည်း၊ အိုင်ဒီယာ၏မျိုးစေ့များကို ကြဲပြီးဖြစ်သည်။ ကျွန်ုပ်တို့၏ပထမဆုံးကြိုးစားမှုသည် သင်ယူမှုအခွင့်အလမ်းကောင်းတစ်ခုဖြစ်သည်- ကျွန်ုပ်တို့သည် ကျွန်ုပ်တို့၏အသုံးပြုသူများအတွက် နေ့စဉ်ပြဿနာများကိုဖြေရှင်းပေးသည့် လက်တွေ့ကျသောကိရိယာများဖန်တီးခြင်းအတွက် အမှန်တကယ်စိတ်အားထက်သန်ကြောင်း သိရှိနားလည်ပါသည်။

အတိတ်က အမှားတွေရဲ့ အတွေ့အကြုံကို အခြေခံပြီး Helm 2 ကို စတင်တီထွင်ခဲ့တယ်။

Helm ပြုလုပ်ခြင်း ၂

2015 နှစ်ကုန်တွင်၊ Google အဖွဲ့သည် ကျွန်ုပ်တို့ထံ ဆက်သွယ်ခဲ့သည်။ ၎င်းတို့သည် Kubernetes အတွက် အလားတူကိရိယာတစ်ခုကို လုပ်ဆောင်နေပါသည်။ Kubernetes အတွက် Deployment Manager သည် Google Cloud Platform အတွက် အသုံးပြုထားသည့် လက်ရှိတူးလ်တစ်ခု၏ ဆိပ်ကမ်းတစ်ခုဖြစ်သည်။ “ဆင်တူယိုးမှားတွေနဲ့ ကွဲပြားမှုတွေကို ရက်အနည်းငယ်ကြာ ဆွေးနွေးဖို့ ငါတို့ ကြိုက်မှာလား။”

2016 ခုနှစ် ဇန်နဝါရီလတွင်၊ Helm နှင့် Deployment Manager အဖွဲ့များသည် အကြံဥာဏ်များဖလှယ်ရန်အတွက် Seattle တွင် တွေ့ဆုံခဲ့ကြသည်။ စေ့စပ်ညှိနှိုင်းမှုများသည် ရည်မှန်းချက်ကြီးသော အစီအစဉ်ဖြင့် အဆုံးသတ်ခဲ့သည်- Helm 2 ကိုဖန်တီးရန် ပရောဂျက်နှစ်ခုလုံးကို ပေါင်းစပ်ရန်။ Deis နှင့် Google တို့နှင့်အတူ၊ SkippBox (ယခု Bitnami ၏တစ်စိတ်တစ်ပိုင်း - ခန့်မှန်းခြေဘာသာပြန်။)ပြီးတော့ Helm 2 ကို စလုပ်တယ်။

ကျွန်ုပ်တို့သည် Helm ၏အသုံးပြုရလွယ်ကူမှုကို ထိန်းသိမ်းထားလိုသော်လည်း အောက်ပါတို့ကို ပေါင်းထည့်သည်-

  • စိတ်ကြိုက်ပြင်ဆင်ခြင်းအတွက် ကားချပ်ပုံစံများ၊
  • အဖွဲ့များအတွက် အစုအဖွဲ့အတွင်း စီမံခန့်ခွဲမှု၊
  • ကမ္ဘာ့အဆင့်မီဇယားသိုလှောင်မှု;
  • လက်မှတ်ရွေးချယ်မှုနှင့်အတူ တည်ငြိမ်သော အထုပ်ဖော်မတ်၊
  • မူကွဲများကြားတွင် နောက်ပြန်လိုက်ဖက်မှုကို ထိန်းသိမ်းထားရန် ခိုင်မာသောကတိပြုချက်။

ဤရည်မှန်းချက်များအောင်မြင်ရန်၊ Helm ဂေဟစနစ်တွင် ဒုတိယအစိတ်အပိုင်းတစ်ခုကို ထည့်သွင်းထားသည်။ ဤအစုအဝေးအတွင်း အစိတ်အပိုင်းကို Tiller ဟုခေါ်ပြီး Helm ဇယားများကို ထည့်သွင်းကာ စီမံခန့်ခွဲရန် တာဝန်ရှိသည်။

Helm 2 ကို 2016 ခုနှစ်တွင်ထွက်ရှိကတည်းက Kubernetes သည် အဓိကတီထွင်ဆန်းသစ်မှုများစွာကို ထည့်သွင်းခဲ့သည်။ အခန်းကဏ္ဍအခြေခံဝင်ရောက်ခွင့် ထိန်းချုပ်မှု ပေါင်းထည့်ထားသည် (RBACAttribute-Based Access Control (ABAC) ကို နောက်ဆုံးတွင် အစားထိုးခဲ့သည်။ အရင်းအမြစ်အမျိုးအစားအသစ်များကို မိတ်ဆက်ခဲ့သည် (ထိုအချိန်က အသုံးချမှုများသည် ဘီတာတွင်ရှိနေဆဲဖြစ်သည်)။ စိတ်ကြိုက်အရင်းအမြစ် အဓိပ္ပါယ်ဖွင့်ဆိုချက်များ (မူလက Third Party Resources သို့မဟုတ် TPRs ဟုခေါ်သည်) ကို တီထွင်ခဲ့သည်။ အရေးအကြီးဆုံးကတော့၊ အကောင်းဆုံးအလေ့အကျင့်တစ်ခု ထွက်ပေါ်လာပါပြီ။

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

Tiller အား ကြင်နာစွာ နှုတ်ဆက်ခြင်း။

Helm 2 ၏ ဖွံ့ဖြိုးတိုးတက်မှုကာလအတွင်း၊ ကျွန်ုပ်တို့သည် Google ၏ ဖြန့်ကျက်မှုမန်နေဂျာနှင့် ပေါင်းစည်းမှုတစ်စိတ်တစ်ပိုင်းအဖြစ် Tiller ကို မိတ်ဆက်ပေးခဲ့သည်။ Tiller သည် ဘုံအစုအဝေးတစ်ခုအတွင်း လုပ်ဆောင်နေသော အဖွဲ့များအတွက် အရေးကြီးသော အခန်းကဏ္ဍမှ ပါဝင်ခဲ့သည်- ၎င်းသည် အခြေခံအဆောက်အအုံကို လည်ပတ်နေသော မတူညီသော အထူးကျွမ်းကျင်သူများကို တူညီသောထုတ်လွှတ်မှုအစုများနှင့် အပြန်အလှန်တုံ့ပြန်နိုင်စေခဲ့သည်။

Kubernetes 1.6 တွင် အခန်းကဏ္ဍအခြေခံအသုံးပြုခွင့်ထိန်းချုပ်မှု (RBAC) ကို မူရင်းအတိုင်းဖွင့်ထားသောကြောင့် Tiller နှင့် ထုတ်လုပ်မှုတွင် ပိုမိုခက်ခဲလာသည်။ ဖြစ်နိုင်ချေရှိသော လုံခြုံရေးမူဝါဒများ အများအပြားကြောင့်၊ ကျွန်ုပ်တို့၏ ရပ်တည်ချက်သည် ပုံမှန်အားဖြင့် ခွင့်ပြုထားသော ဖွဲ့စည်းမှုပုံစံကို ကမ်းလှမ်းရန်ဖြစ်သည်။ ၎င်းက လုံခြုံရေးဆက်တင်များသို့ ဦးစွာဝင်ရောက်ရန် မလိုအပ်ဘဲ အသစ်အဆန်းများကို Helm နှင့် Kubernetes နှင့် စမ်းသပ်နိုင်စေခဲ့သည်။ ကံမကောင်းစွာပဲ၊ ဤခွင့်ပြုချက်ဖွဲ့စည်းပုံသည် အသုံးပြုသူများအား ၎င်းတို့မလိုအပ်သော ခွင့်ပြုချက်များစွာကို ပံ့ပိုးပေးနိုင်သည်။ DevOps နှင့် SRE အင်ဂျင်နီယာများသည် Tiller အများအပြားကို ငှားရမ်းနေထိုင်သည့် အစုအဝေးတွင် ထည့်သွင်းသောအခါတွင် နောက်ထပ် လုပ်ငန်းဆောင်ရွက်မှုအဆင့်များကို လေ့လာခဲ့ရသည်။

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

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

Tiller ပျောက်ကွယ်သွားသည်နှင့်အမျှ Helm ၏ လုံခြုံရေးပုံစံသည် အလွန်ရိုးရှင်းပါသည်။ Helm 3 သည် လက်ရှိ Kubernetes ၏ ခေတ်မီလုံခြုံရေး၊ အထောက်အထားနှင့် ခွင့်ပြုချက်နည်းလမ်းအားလုံးကို ပံ့ပိုးပေးပါသည်။ ပဲ့စင်ခွင့်ပြုချက်များကို အသုံးပြု၍ ဆုံးဖြတ်ထားသည်။ kubeconfig ဖိုင်. Cluster စီမံခန့်ခွဲသူများသည် အသုံးပြုသူ၏အခွင့်အရေးများကို အသေးစိပ်အဆင့်တိုင်းတွင် ကန့်သတ်နိုင်သည်။ ထုတ်ဝေမှုများကို အစုအဝေးအတွင်း သိမ်းဆည်းထားဆဲဖြစ်ပြီး ကျန် Helm ၏ လုပ်ဆောင်နိုင်စွမ်းများမှာ နဂိုအတိုင်း ကျန်ရှိနေပါသည်။

ဇယားကွက်များ

မြင့်မားသောအဆင့်တွင်၊ ဇယားများသိုလှောင်ရာသည် ဇယားများကိုသိမ်းဆည်းပြီး မျှဝေနိုင်သည့်နေရာဖြစ်သည်။ Helm client သည် ထုပ်ပိုးပြီး ဇယားများကို သိုလှောင်ရာသို့ ပို့ပေးသည်။ ရိုးရိုးရှင်းရှင်းပြောရလျှင်၊ ဇယားများသိုလှောင်ရာသည် index.yaml ဖိုင်နှင့် ထုပ်ပိုးထားသော ဇယားအချို့ပါရှိသော မူလ HTTP ဆာဗာတစ်ခုဖြစ်သည်။

အခြေခံသိုလှောင်မှုလိုအပ်ချက်များနှင့်ကိုက်ညီသော Charts Repository API တွင် အားသာချက်အချို့ရှိသော်လည်း၊ အားနည်းချက်အချို့လည်း ရှိပါသည်။

  • ပုံစံကားချပ် သိမ်းဆည်းမှုများသည် ထုတ်လုပ်ရေးပတ်ဝန်းကျင်တွင် လိုအပ်သော လုံခြုံရေးအကောင်အထည်ဖော်မှုအများစုနှင့် ကိုက်ညီမှုမရှိပါ။ အထောက်အထားစိစစ်ခြင်းနှင့် ခွင့်ပြုချက်အတွက် စံ API ရှိခြင်းသည် ထုတ်လုပ်မှုအခြေအနေများတွင် အလွန်အရေးကြီးပါသည်။
  • Helm ၏ ဇယားသက်သေ ကိရိယာများသည် ဇယားတစ်ခု၏ ခိုင်မာမှုနှင့် သက်သေအထောက်အထားကို လက်မှတ်ရေးထိုးရန် အသုံးပြုသည့် ကိရိယာများသည် ဇယားထုတ်ဝေခြင်းလုပ်ငန်းစဉ်၏ ရွေးချယ်နိုင်သော အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။
  • အသုံးပြုသူအများအပြား၏ အခြေအနေများတွင်၊ တူညီသောဇယားကို အခြားအသုံးပြုသူတစ်ဦးက အပ်လုဒ်လုပ်နိုင်ပြီး တူညီသောအကြောင်းအရာကို သိမ်းဆည်းရန် လိုအပ်သည့်နေရာပမာဏကို နှစ်ဆတိုးစေသည်။ ဤပြဿနာကိုဖြေရှင်းရန် ပိုမိုစမတ်ကျသောသိုလှောင်မှုများကို တီထွင်ထားသော်လည်း ၎င်းတို့သည် တရားဝင်သတ်မှတ်ချက်၏မပါဝင်ပါ။
  • ရှာဖွေခြင်း၊ မက်တာဒေတာကို သိမ်းဆည်းခြင်းနှင့် ဇယားကွက်များရယူခြင်းအတွက် အညွှန်းဖိုင်တစ်ခုတည်းကို အသုံးပြုခြင်းသည် လုံခြုံသောအသုံးပြုသူအများအပြားကို အကောင်အထည်ဖော်ရန် ခက်ခဲစေသည်။

စီမံကိန်း၏ Docker ဖြန့်ဝေခြင်း။ (Docker Registry v2 ဟုလည်းလူသိများသည်) သည် Docker Registry ၏ဆက်ခံသူဖြစ်ပြီး ထုပ်ပိုးခြင်း၊ ပို့ဆောင်ခြင်း၊ သိမ်းဆည်းခြင်းနှင့် Docker ပုံများပေးပို့ခြင်းအတွက် ကိရိယာအစုံတစ်ခုအဖြစ် လုပ်ဆောင်သည်။ ကြီးမားသော cloud ဝန်ဆောင်မှုများစွာသည် ဖြန့်ဝေမှုအခြေခံထုတ်ကုန်များကို ပေးဆောင်သည်။ ဤတိုးမြှင့်အာရုံစိုက်မှုကြောင့်၊ ဖြန့်ဝေမှုပရောဂျက်သည် နှစ်ပေါင်းများစွာ တိုးတက်မှုများ၊ လုံခြုံရေးအကောင်းဆုံးအလေ့အကျင့်များနှင့် နယ်ပယ်စမ်းသပ်မှုများမှ အကျိုးကျေးဇူးရရှိခဲ့ပြီး ၎င်းကို Open Source ကမ္ဘာ၏ အအောင်မြင်ဆုံးသူရဲကောင်းများထဲမှ တစ်ဦးဖြစ်စေခဲ့သည်။

သို့သော် Distribution Project သည် ကွန်တိန်နာပုံများသာမက မည်သည့်အကြောင်းအရာကိုမဆို ဖြန့်ဝေရန် ဒီဇိုင်းထုတ်ထားကြောင်း သင်သိပါသလား။

ကြိုးစားအားထုတ်မှုကို ကျေးဇူးတင်ပါတယ်။ ဖွင့်လှစ်ကွန်တိန်နာ Initiative (သို့မဟုတ် OCI)၊ Helm ဇယားများကို မည်သည့် Distribution instance တွင်မဆို ထားရှိနိုင်ပါသည်။ ယခုအချိန်တွင် ဤလုပ်ငန်းစဉ်သည် စမ်းသပ်ဆဲဖြစ်သည်။ Helm 3 အပြည့်အစုံအတွက် လိုအပ်သော အကောင့်ဝင်ခြင်းဆိုင်ရာ ပံ့ပိုးမှုနှင့် အခြားဝန်ဆောင်မှုများသည် လုပ်ဆောင်နေဆဲဖြစ်သော်လည်း OCI နှင့် Distribution အဖွဲ့များ နှစ်များတစ်လျှောက် ပြုလုပ်ခဲ့သော ရှာဖွေတွေ့ရှိမှုများမှ ကျွန်ုပ်တို့ စိတ်လှုပ်ရှားစွာ သင်ယူနိုင်ပါသည်။ ၎င်းတို့၏ လမ်းညွှန်မှုနှင့် လမ်းညွှန်မှုမှတစ်ဆင့်၊ အလွန်ရရှိနိုင်သော ဝန်ဆောင်မှုကို အတိုင်းအတာတစ်ခုအထိ လုပ်ဆောင်ရခြင်းကို ကျွန်ုပ်တို့ သိရှိနားလည်ပါသည်။

Helm chart repositories တွင် လာမည့်ပြောင်းလဲမှုအချို့၏ အသေးစိတ်ဖော်ပြချက်ကို ရနိုင်ပါသည်။ လင့်ခ်.

စီမံခန့်ခွဲရေး

Helm 3 တွင်၊ အပလီကေးရှင်းအခြေအနေအား အရာဝတ္ထုတစ်စုံဖြင့် အစုအဝေးအတွင်း ခြေရာခံသည်-

  • ထုတ်လွှတ်သည့်အရာဝတ္တု - အက်ပလီကေးရှင်းဥပမာတစ်ခုကိုကိုယ်စားပြုသည်။
  • ဗားရှင်းလျှို့ဝှက်ထုတ်ခြင်း - အချိန်အတိုင်းအတာတစ်ခုအတွင်း အပလီကေးရှင်း၏ အလိုရှိသော အခြေအနေအား ကိုယ်စားပြုသည် (ဥပမာ၊ ဗားရှင်းအသစ်တစ်ခု ထွက်ရှိခြင်း)။

ခေါ်ဆိုခ helm install လွှတ်တင်သောအရာဝတ္တုကို ဖန်တီးပြီး ဗားရှင်းလျှို့ဝှက်ချက်ကို ထုတ်ပြန်သည်။ ဖုန်းဆက်ပါ။ helm upgrade ထုတ်ဝေသည့်အရာဝတ္တုတစ်ခု လိုအပ်သည် (၎င်းသည် ပြောင်းလဲနိုင်သည့်) လိုအပ်ပြီး တန်ဖိုးအသစ်များနှင့် ပြင်ဆင်ထားသော မန်နီးဖက်စ်ပါရှိသော ထုတ်ဝေမှုဗားရှင်းအသစ်ကို လျှို့ဝှက်ဖန်တီးပေးသည်။

ဖြန့်ချိသည့်အရာဝတ္တုတွင် ထုတ်ဝေမှုသည် အမည်ရှိဇယားနှင့် တန်ဖိုးများကို သီးခြားထည့်သွင်းမှုတစ်ခုဖြစ်သည့် ထုတ်ဝေမှုအကြောင်း အချက်အလက်ပါရှိသည်။ ဤအရာဝတ္ထုသည် ထုတ်ဝေမှုနှင့်ပတ်သက်၍ ထိပ်တန်းအဆင့် မက်တာဒေတာကို ဖော်ပြသည်။ ထုတ်ဝေသည့်အရာဝတ္ထုသည် အပလီကေးရှင်း၏ဘဝစက်ဝန်းတစ်လျှောက်တွင် ဆက်လက်တည်ရှိနေပြီး ထုတ်ဝေမှုဗားရှင်းလျှို့ဝှက်ချက်အားလုံး၏ပိုင်ရှင်ဖြစ်ပြီး Helm ဇယားမှ တိုက်ရိုက်ဖန်တီးထားသည့် အရာဝတ္ထုအားလုံး၏ပိုင်ရှင်ဖြစ်သည်။

ဖြန့်ချိသည့်ဗားရှင်းသည် ပြန်လည်ပြင်ဆင်မှုများ ဆက်တိုက် (ထည့်သွင်းခြင်း၊ အပ်ဒိတ်များ၊ ပြန်လှည့်ခြင်း၊ ဖျက်ခြင်း) နှင့် ထုတ်ဝေခြင်းတို့ကို ဆက်စပ်ပေးသည်။

Helm 2 တွင် ပြန်လည်ပြင်ဆင်မှုများသည် အလွန်ကိုက်ညီပါသည်။ ဖုန်းဆက်ပါ။ helm install ဖန်တီးထားသည့် v1၊ နောက်ဆက်တွဲမွမ်းမံမှု (အဆင့်မြှင့်တင်မှု) - v2 စသည်တို့ဖြစ်သည်။ ထုတ်ဝေခြင်းနှင့် ထုတ်ဝေခြင်း ဗားရှင်းလျှို့ဝှက်ချက်ကို ပြန်လည်ပြင်ဆင်ခြင်းဟု သိကြသည့် အရာဝတ္ထုတစ်ခုထဲသို့ ပြိုကျသွားသည်။ တည်းဖြတ်မှုများကို Tiller ကဲ့သို့ တူညီသော namespace တွင် သိမ်းဆည်းထားသည်၊ ဆိုလိုသည်မှာ ထုတ်ဝေမှုတစ်ခုစီသည် namespace အရ "ကမ္ဘာ့" ဖြစ်သည်၊ ရလဒ်အနေဖြင့် အမည်၏ ဥပမာတစ်ခုသာ အသုံးပြုနိုင်သည်။

Helm 3 တွင်၊ ထုတ်ဝေမှုတစ်ခုစီသည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ဗားရှင်းလျှို့ဝှက်ချက်များနှင့် ဆက်စပ်နေသည်။ ထုတ်ဝေမှုအရာဝတ္တုသည် Kubernetes တွင် အသုံးပြုနေသော လက်ရှိထုတ်ဝေမှုကို အမြဲဖော်ပြသည်။ ထုတ်ဝေမှုဗားရှင်းတစ်ခုစီသည် ထိုထုတ်ဝေမှု၏ ဗားရှင်းတစ်ခုသာဖြစ်ကြောင်း လျှို့ဝှက်ဖော်ပြထားသည်။ ဥပမာ၊ အဆင့်မြှင့်တင်မှုတစ်ခုသည် ဗားရှင်းအသစ်ကို လျှို့ဝှက်ဖန်တီးပြီး ၎င်းဗားရှင်းအသစ်ကို ညွှန်ပြရန်အတွက် ထုတ်ဝေသည့်အရာဝတ္တုကို ပြောင်းလဲပါမည်။ rollback တွင်၊ သင်သည် ထုတ်ဝေမှုကို ယခင်အခြေအနေသို့ ပြန်လှည့်ရန် ယခင်ထွက်ရှိထားသော ဗားရှင်းလျှို့ဝှက်ချက်များကို အသုံးပြုနိုင်သည်။

Tiller ကို စွန့်ပစ်ပြီးနောက်၊ Helm 3 သည် ထုတ်ဝေမှုကဲ့သို့ တူညီသော namespace တွင် အချက်အလက်များကို သိမ်းဆည်းသည်။ ဤပြောင်းလဲမှုသည် သင့်အား မတူညီသော namespace တွင် တူညီသောထွက်ရှိမှုအမည်ဖြင့် ဇယားတစ်ခုကို ထည့်သွင်းနိုင်စေပြီး၊ ဒေတာကို အစုအဝေးမွမ်းမံမှုများ/ပြန်လည်စတင်မှုများကြားတွင် သိမ်းဆည်းထားသည်။ ဥပမာအားဖြင့်၊ သင်သည် "foo" namespace တွင် WordPress ကိုထည့်သွင်းနိုင်ပြီး "bar" namespace တွင်၊ ထုတ်ဝေမှုနှစ်ခုလုံးကို "wordpress" ဟုခေါ်နိုင်သည်။

ဇယားမှီခိုမှုသို့ ပြောင်းလဲမှုများ

ဇယားများထုပ်ပိုးထားသည် (အသုံးပြုသည်။ helm package) Helm 2 နှင့် အသုံးပြုရန်အတွက် Helm 3 ဖြင့် ထည့်သွင်းနိုင်သော်လည်း ဇယားဖွံ့ဖြိုးတိုးတက်မှုလုပ်ငန်းအသွားအလာကို လုံးဝပြန်လည်ပြင်ဆင်ပြီးဖြစ်သောကြောင့် Helm 3 ဖြင့် ဇယားဖွံ့ဖြိုးတိုးတက်မှုကို ဆက်လက်လုပ်ဆောင်ရန် အပြောင်းအလဲအချို့ ပြုလုပ်ရမည်ဖြစ်သည်။ အထူးသဖြင့်၊ ဇယားမှီခိုမှုစီမံခန့်ခွဲမှုစနစ်သည် ပြောင်းလဲသွားပါသည်။

ဇယား၏ မှီခိုမှု စီမံခန့်ခွဲမှုစနစ်မှ ပြောင်းသွားပါသည်။ requirements.yaml и requirements.lock အပေါ် Chart.yaml и Chart.lock. ဆိုလိုသည်မှာ command ကိုအသုံးပြုသောဇယားများ helm dependencyHelm 3 တွင် အလုပ်လုပ်ရန် စနစ်ထည့်သွင်းမှုအချို့ လိုအပ်ပါသည်။

ဥပမာတစ်ခုကိုကြည့်ရအောင်။ Helm 2 ရှိ ဇယားတွင် မှီခိုမှုတစ်ခုကို ပေါင်းထည့်ကာ Helm 3 သို့ပြောင်းသည့်အခါ ဘာတွေပြောင်းလဲသွားသည်ကို ကြည့်ကြပါစို့။

Helm တွင် ၂ requirements.yaml ဤကဲ့သို့ကြည့်သည်-

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

Helm 3 တွင်၊ တူညီသောမှီခိုမှုအား သင့်၌ ထင်ဟပ်စေမည်ဖြစ်သည်။ Chart.yaml:

dependencies:
- name: mariadb
  version: 5.x.x
  repository: https://kubernetes-charts.storage.googleapis.com/
  condition: mariadb.enabled
  tags:
    - database

ဇယားများကို ဒေါင်းလုဒ်လုပ်ပြီး လမ်းညွှန်ထဲတွင် ထည့်ထားဆဲဖြစ်သည်။ charts/ဇယားကွက်များ (စာတန်းခွဲများ)ကက်တလောက်အိပ်၊ charts/ပြောင်းလဲခြင်းမရှိဘဲ ဆက်လက်လုပ်ဆောင်သွားပါမည်။

စာကြည့်တိုက်ဇယားများကို မိတ်ဆက်ခြင်း။

Helm 3 သည် စာကြည့်တိုက်ဇယားများဟုခေါ်သော ဇယားကွက်များကို ပံ့ပိုးပေးသည်။ (စာကြည့်တိုက်ဇယား). ဤဇယားကို အခြားဇယားကွက်များက အသုံးပြုသော်လည်း မည်သည့်ထုတ်ဝေမှုမှ ဖန်တီးထားခြင်း မရှိပါ။ ဒစ်ဂျစ်တယ်ဇယား နမူနာများသည် အစိတ်အပိုင်းများကိုသာ ကြေညာနိုင်သည်။ define. အခြားအကြောင်းအရာများကို လျစ်လျူရှုထားသည်။ ၎င်းသည် သုံးစွဲသူများအား ဇယားကွက်အများအပြားတွင် အသုံးပြုနိုင်သည့် ကုဒ်အတိုအထွာများကို ပြန်လည်အသုံးပြုခြင်းနှင့် မျှဝေနိုင်စေခြင်းဖြင့် ပွားခြင်းနှင့် နိယာမကို လိုက်နာခြင်းတို့ကို ရှောင်ရှားနိုင်စေပါသည်။ သှေ့ခွောကျ.

ကဏ္ဍတွင် စာကြည့်တိုက်ဇယားများကို ကြေငြာထားသည်။ dependencies ဖိုင်ထဲမှာ Chart.yaml. ၎င်းတို့ကို ထည့်သွင်းခြင်းနှင့် စီမံခန့်ခွဲခြင်းသည် အခြားဇယားများနှင့် မတူပါ။

dependencies:
  - name: mylib
    version: 1.x.x
    repository: quay.io

ဤအစိတ်အပိုင်းသည် ဇယားရေးဆွဲသူများအတွက် ဖွင့်လှစ်ပေးမည့် အသုံးပြုမှုကိစ္စများအပြင် စာကြည့်တိုက်ဇယားများမှ ထွက်ပေါ်လာနိုင်သည့် အကောင်းဆုံးအလေ့အကျင့်များကို ကျွန်ုပ်တို့ စိတ်လှုပ်ရှားမိပါသည်။

လာမည့်ဘာလဲ?

Helm 3.0.0-alpha.1 သည် Helm ဗားရှင်းအသစ်ကို ကျွန်ုပ်တို့ စတင်တည်ဆောက်သည့် အခြေခံအုတ်မြစ်ဖြစ်သည်။ ဆောင်းပါးတွင် Helm 3 ၏ စိတ်ဝင်စားဖွယ်အင်္ဂါရပ်အချို့ကို ဖော်ပြခဲ့သည်။ ၎င်းတို့ထဲမှ အများအပြားသည် ဖွံ့ဖြိုးတိုးတက်မှု၏ အစောပိုင်းအဆင့်တွင် ရှိနေဆဲဖြစ်ပြီး ၎င်းသည် ပုံမှန်ဖြစ်သည်။ အယ်လ်ဖာထုတ်လွှတ်မှု၏ အဓိကအချက်မှာ အိုင်ဒီယာကို စမ်းသပ်ရန်၊ အစောပိုင်းအသုံးပြုသူများထံမှ အကြံပြုချက်များကို စုဆောင်းရန်နှင့် ကျွန်ုပ်တို့၏ ယူဆချက်များကို အတည်ပြုရန်ဖြစ်သည်။

alpha ဗားရှင်းထွက်သည်နှင့်တပြိုင်နက် (ဒါကို သတိရပါ။ ဖြစ်နေပြီ။ - ခန့်မှန်းခြေ ဘာသာပြန်။)အသိုင်းအဝိုင်းမှ Helm 3 အတွက် ပြင်ဆင်မှုများကို စတင်လက်ခံပါမည်။ လုပ်ဆောင်ချက်အသစ်များကို တီထွင်ပြီး လက်ခံကျင့်သုံးနိုင်စေမည့် ခိုင်မာသောအခြေခံအုတ်မြစ်ကို ဖန်တီးရန် လိုအပ်ပြီး အသုံးပြုသူများသည် လက်မှတ်များကိုဖွင့်ကာ ပြင်ဆင်မှုများပြုလုပ်ခြင်းဖြင့် လုပ်ငန်းစဉ်တွင် ပါဝင်ခံစားနိုင်စေရန်အတွက် ခိုင်မာသောအခြေခံအုတ်မြစ်ကို ဖန်တီးရန် လိုအပ်ပါသည်။

Helm 3 တွင် ရောက်ရှိလာမည့် အဓိက တိုးတက်မှုအချို့ကို ကျွန်ုပ် မီးမောင်းထိုးပြရန် ကြိုးစားခဲ့သော်လည်း ဤစာရင်းသည် ပြီးပြည့်စုံခြင်း မရှိပါ။ Helm 3 အတွက် လမ်းပြမြေပုံ အပြည့်အစုံတွင် ပိုမိုကောင်းမွန်သော အပ်ဒိတ်ဗျူဟာများ၊ OCI မှတ်ပုံတင်မှုများနှင့် ပိုမိုနက်ရှိုင်းစွာ ပေါင်းစည်းခြင်း နှင့် ဇယားတန်ဖိုးများကို အတည်ပြုရန်အတွက် JSON schemas အသုံးပြုခြင်းကဲ့သို့သော အင်္ဂါရပ်များ ပါဝင်သည်။ ကျွန်ုပ်တို့သည် လွန်ခဲ့သည့် သုံးနှစ်အတွင်း လျစ်လျူရှုထားခဲ့သော ကုဒ်ဘေ့စ်ကို ရှင်းလင်းပြီး အပ်ဒိတ်လုပ်ရန် အစီအစဉ်ရှိသည်။

တစ်စုံတစ်ခု လွဲချော်သွားသလို ခံစားရပါက၊ မင်းရဲ့ အတွေးအမြင်တွေကို နားထောင်ချင်ပါတယ်။

ကျွန်ုပ်တို့၏ ဆွေးနွေးချက်တွင် ပါဝင်ပါ။ အားမနာနဲ့:

  • #helm-users မေးခွန်းများနှင့် လူ့အဖွဲ့အစည်းနှင့် ရိုးရှင်းသော ဆက်သွယ်မှုအတွက်၊
  • #helm-dev ဆွဲယူတောင်းဆိုမှုများ၊ ကုဒ်နှင့် အမှားအယွင်းများကို ဆွေးနွေးရန်။

ကြာသပတေးနေ့များတွင် 19:30 MSK တွင် ကျွန်ုပ်တို့၏ အပတ်စဉ် Public Developer Calls များတွင်လည်း သင် စကားပြောနိုင်ပါသည်။ အစည်းအဝေးများသည် အဓိက developer များနှင့် အသိုင်းအဝိုင်းတွင် လုပ်ဆောင်နေသော ကိစ္စရပ်များအပြင် တစ်ပတ်အတွက် ဆွေးနွေးမှုအကြောင်းအရာများကို ဆွေးနွေးရန် ရည်ရွယ်ပါသည်။ မည်သူမဆို တက်ရောက်နိုင်ပြီး အစည်းအဝေးတွင် ပါဝင်နိုင်ပါသည်။ လင့်ခ်ကို Slack ချန်နယ်တွင် ရနိုင်သည်။ #helm-dev.

PS ဘာသာပြန်မှ

ကျွန်ုပ်တို့၏ဘလော့ဂ်တွင်လည်းဖတ်ပါ

source: www.habr.com

မှတ်ချက် Add