မှတ်ချက်။ ဘာသာပြန်- ယခုနှစ် မေလ 16 ရက်နေ့သည် Kubernetes - Helm အတွက် ပက်ကေ့ဂျ်မန်နေဂျာ၏ ဖွံ့ဖြိုးတိုးတက်မှုတွင် သိသာထင်ရှားသော မှတ်တိုင်တစ်ခုဖြစ်သည်။ ဤနေ့တွင်၊ ပရောဂျက်၏အနာဂတ်အဓိကဗားရှင်း - 3.0 - ၏ပထမဆုံး alpha ထွက်ရှိမှုကိုတင်ပြခဲ့သည်။ ၎င်း၏ထုတ်ဝေမှုသည် Kubernetes အသိုက်အဝန်းရှိများစွာသောမျှော်လင့်ချက်မြင့်မားသော Helm သို့သိသာထင်ရှားပြီးကြာရှည်စွာစောင့်ဆိုင်းခဲ့သောအပြောင်းအလဲများကိုဆောင်ကြဉ်းပေးလိမ့်မည်။ ကျွန်ုပ်တို့ကိုယ်တိုင်သည် အပလီကေးရှင်းဖြန့်ကျက်မှုအတွက် Helm ကိုတက်ကြွစွာအသုံးပြုသောကြောင့်၊ ကျွန်ုပ်တို့သည် ၎င်းကို CI/CD အကောင်အထည်ဖော်ရန်အတွက် ကျွန်ုပ်တို့၏တူးလ်တွင် ပေါင်းစပ်ထားသည်။
15 ခုနှစ် အောက်တိုဘာလ 2015 ရက်နေ့တွင် Helm ဟုလူသိများသောပရောဂျက်ကိုမွေးဖွားခဲ့သည်။ စတင်တည်ထောင်ပြီး တစ်နှစ်အကြာတွင် Helm အသိုင်းအဝိုင်းသည် Helm 2 တွင် တက်ကြွစွာ လုပ်ဆောင်နေစဉ် Kubernetes နှင့် ပူးပေါင်းခဲ့သည်။ ဇွန်လ 2018 ခုနှစ်တွင် Helm
ဤဆောင်းပါးတွင်၊ အားလုံးစတင်ခဲ့ရာ၊ ယနေ့ကျွန်ုပ်တို့ရှိရာသို့ မည်သို့ရောက်ရှိခဲ့ကြောင်း၊ Helm 3 ၏ ပထမအယ်လ်ဖာထွက်ရှိမှုတွင် ရရှိနိုင်သော ထူးခြားသောအင်္ဂါရပ်အချို့ကို မိတ်ဆက်ပြီး နောက်ထပ်ဖွံ့ဖြိုးတိုးတက်ရန် ကျွန်ုပ်တို့အစီအစဉ်ကို ရှင်းပြပါမည်။
အကျဉ်းချုပ် -
- Helm ၏ဖန်တီးမှုသမိုင်း;
- Tiller အား နူးညံ့စွာ နှုတ်ဆက်ခြင်း၊
- ဇယားသိမ်းဆည်းမှုများ၊
- ထုတ်ဝေမှုစီမံခန့်ခွဲမှု
- ဇယားမှီခိုမှုအပြောင်းအလဲများ၊
- စာကြည့်တိုက်ဇယားများ၊
- နောက်တစ်ခုကဘာလဲ?
Helm ၏သမိုင်း
ကလေးမွေးဖွား
Helm 1 သည် Deis ဖန်တီးထားသော Open Source ပရောဂျက်တစ်ခုအနေဖြင့် စတင်ခဲ့သည်။ ကျွန်ုပ်တို့သည် သေးငယ်သော စတင်မှုတစ်ခု ဖြစ်ခဲ့သည်။ deisctl
Deis ပလပ်ဖောင်းကို ထည့်သွင်းပြီး လည်ပတ်ရန်အတွက် (အခြားအရာများကြားတွင်) အသုံးပြုခဲ့သည်။
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 တို့နှင့်အတူ၊
ကျွန်ုပ်တို့သည် Helm ၏အသုံးပြုရလွယ်ကူမှုကို ထိန်းသိမ်းထားလိုသော်လည်း အောက်ပါတို့ကို ပေါင်းထည့်သည်-
- စိတ်ကြိုက်ပြင်ဆင်ခြင်းအတွက် ကားချပ်ပုံစံများ၊
- အဖွဲ့များအတွက် အစုအဖွဲ့အတွင်း စီမံခန့်ခွဲမှု၊
- ကမ္ဘာ့အဆင့်မီဇယားသိုလှောင်မှု;
- လက်မှတ်ရွေးချယ်မှုနှင့်အတူ တည်ငြိမ်သော အထုပ်ဖော်မတ်၊
- မူကွဲများကြားတွင် နောက်ပြန်လိုက်ဖက်မှုကို ထိန်းသိမ်းထားရန် ခိုင်မာသောကတိပြုချက်။
ဤရည်မှန်းချက်များအောင်မြင်ရန်၊ Helm ဂေဟစနစ်တွင် ဒုတိယအစိတ်အပိုင်းတစ်ခုကို ထည့်သွင်းထားသည်။ ဤအစုအဝေးအတွင်း အစိတ်အပိုင်းကို Tiller ဟုခေါ်ပြီး Helm ဇယားများကို ထည့်သွင်းကာ စီမံခန့်ခွဲရန် တာဝန်ရှိသည်။
Helm 2 ကို 2016 ခုနှစ်တွင်ထွက်ရှိကတည်းက Kubernetes သည် အဓိကတီထွင်ဆန်းသစ်မှုများစွာကို ထည့်သွင်းခဲ့သည်။ အခန်းကဏ္ဍအခြေခံဝင်ရောက်ခွင့် ထိန်းချုပ်မှု ပေါင်းထည့်ထားသည် (
ဤပြောင်းလဲမှုများအားလုံးကြားတွင် 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 ၏ ခေတ်မီလုံခြုံရေး၊ အထောက်အထားနှင့် ခွင့်ပြုချက်နည်းလမ်းအားလုံးကို ပံ့ပိုးပေးပါသည်။ ပဲ့စင်ခွင့်ပြုချက်များကို အသုံးပြု၍ ဆုံးဖြတ်ထားသည်။
ဇယားကွက်များ
မြင့်မားသောအဆင့်တွင်၊ ဇယားများသိုလှောင်ရာသည် ဇယားများကိုသိမ်းဆည်းပြီး မျှဝေနိုင်သည့်နေရာဖြစ်သည်။ Helm client သည် ထုပ်ပိုးပြီး ဇယားများကို သိုလှောင်ရာသို့ ပို့ပေးသည်။ ရိုးရိုးရှင်းရှင်းပြောရလျှင်၊ ဇယားများသိုလှောင်ရာသည် index.yaml ဖိုင်နှင့် ထုပ်ပိုးထားသော ဇယားအချို့ပါရှိသော မူလ HTTP ဆာဗာတစ်ခုဖြစ်သည်။
အခြေခံသိုလှောင်မှုလိုအပ်ချက်များနှင့်ကိုက်ညီသော Charts Repository API တွင် အားသာချက်အချို့ရှိသော်လည်း၊ အားနည်းချက်အချို့လည်း ရှိပါသည်။
- ပုံစံကားချပ် သိမ်းဆည်းမှုများသည် ထုတ်လုပ်ရေးပတ်ဝန်းကျင်တွင် လိုအပ်သော လုံခြုံရေးအကောင်အထည်ဖော်မှုအများစုနှင့် ကိုက်ညီမှုမရှိပါ။ အထောက်အထားစိစစ်ခြင်းနှင့် ခွင့်ပြုချက်အတွက် စံ API ရှိခြင်းသည် ထုတ်လုပ်မှုအခြေအနေများတွင် အလွန်အရေးကြီးပါသည်။
- Helm ၏ ဇယားသက်သေ ကိရိယာများသည် ဇယားတစ်ခု၏ ခိုင်မာမှုနှင့် သက်သေအထောက်အထားကို လက်မှတ်ရေးထိုးရန် အသုံးပြုသည့် ကိရိယာများသည် ဇယားထုတ်ဝေခြင်းလုပ်ငန်းစဉ်၏ ရွေးချယ်နိုင်သော အစိတ်အပိုင်းတစ်ခုဖြစ်သည်။
- အသုံးပြုသူအများအပြား၏ အခြေအနေများတွင်၊ တူညီသောဇယားကို အခြားအသုံးပြုသူတစ်ဦးက အပ်လုဒ်လုပ်နိုင်ပြီး တူညီသောအကြောင်းအရာကို သိမ်းဆည်းရန် လိုအပ်သည့်နေရာပမာဏကို နှစ်ဆတိုးစေသည်။ ဤပြဿနာကိုဖြေရှင်းရန် ပိုမိုစမတ်ကျသောသိုလှောင်မှုများကို တီထွင်ထားသော်လည်း ၎င်းတို့သည် တရားဝင်သတ်မှတ်ချက်၏မပါဝင်ပါ။
- ရှာဖွေခြင်း၊ မက်တာဒေတာကို သိမ်းဆည်းခြင်းနှင့် ဇယားကွက်များရယူခြင်းအတွက် အညွှန်းဖိုင်တစ်ခုတည်းကို အသုံးပြုခြင်းသည် လုံခြုံသောအသုံးပြုသူအများအပြားကို အကောင်အထည်ဖော်ရန် ခက်ခဲစေသည်။
စီမံကိန်း၏
သို့သော် Distribution Project သည် ကွန်တိန်နာပုံများသာမက မည်သည့်အကြောင်းအရာကိုမဆို ဖြန့်ဝေရန် ဒီဇိုင်းထုတ်ထားကြောင်း သင်သိပါသလား။
ကြိုးစားအားထုတ်မှုကို ကျေးဇူးတင်ပါတယ်။
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 dependency
Helm 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 အတွက် လမ်းပြမြေပုံ အပြည့်အစုံတွင် ပိုမိုကောင်းမွန်သော အပ်ဒိတ်ဗျူဟာများ၊ OCI မှတ်ပုံတင်မှုများနှင့် ပိုမိုနက်ရှိုင်းစွာ ပေါင်းစည်းခြင်း နှင့် ဇယားတန်ဖိုးများကို အတည်ပြုရန်အတွက် JSON schemas အသုံးပြုခြင်းကဲ့သို့သော အင်္ဂါရပ်များ ပါဝင်သည်။ ကျွန်ုပ်တို့သည် လွန်ခဲ့သည့် သုံးနှစ်အတွင်း လျစ်လျူရှုထားခဲ့သော ကုဒ်ဘေ့စ်ကို ရှင်းလင်းပြီး အပ်ဒိတ်လုပ်ရန် အစီအစဉ်ရှိသည်။
တစ်စုံတစ်ခု လွဲချော်သွားသလို ခံစားရပါက၊ မင်းရဲ့ အတွေးအမြင်တွေကို နားထောင်ချင်ပါတယ်။
ကျွန်ုပ်တို့၏ ဆွေးနွေးချက်တွင် ပါဝင်ပါ။
-
#helm-users
မေးခွန်းများနှင့် လူ့အဖွဲ့အစည်းနှင့် ရိုးရှင်းသော ဆက်သွယ်မှုအတွက်၊ -
#helm-dev
ဆွဲယူတောင်းဆိုမှုများ၊ ကုဒ်နှင့် အမှားအယွင်းများကို ဆွေးနွေးရန်။
ကြာသပတေးနေ့များတွင် 19:30 MSK တွင် ကျွန်ုပ်တို့၏ အပတ်စဉ် Public Developer Calls များတွင်လည်း သင် စကားပြောနိုင်ပါသည်။ အစည်းအဝေးများသည် အဓိက developer များနှင့် အသိုင်းအဝိုင်းတွင် လုပ်ဆောင်နေသော ကိစ္စရပ်များအပြင် တစ်ပတ်အတွက် ဆွေးနွေးမှုအကြောင်းအရာများကို ဆွေးနွေးရန် ရည်ရွယ်ပါသည်။ မည်သူမဆို တက်ရောက်နိုင်ပြီး အစည်းအဝေးတွင် ပါဝင်နိုင်ပါသည်။ လင့်ခ်ကို Slack ချန်နယ်တွင် ရနိုင်သည်။ #helm-dev
.
PS ဘာသာပြန်မှ
ကျွန်ုပ်တို့၏ဘလော့ဂ်တွင်လည်းဖတ်ပါ
- «
Kubernetes အတွက် ပက်ကေ့ဂျ်မန်နေဂျာ - Helm- အတိတ်၊ ပစ္စုပ္ပန်၊ အနာဂတ် "; - «
Helm 2 ကို သတိရှိရှိ ကြည့်ပါ– “ဒါက ဒါပဲ…” "; - «
Kubernetes - Helm အတွက် ပက်ကေ့ဂျ်မန်နေဂျာကို လက်တွေ့မိတ်ဆက်ခြင်း။ "; - «
Kubernetes အကြံပြုချက်များနှင့် လှည့်ကွက်များ- အစုအဝေးတစ်ခုအတွင်း လုပ်ဆောင်နေသည့် အရင်းအမြစ်များကို Helm 2 စီမံခန့်ခွဲမှုသို့ လွှဲပြောင်းခြင်း။ "; - «
dapp ဖြင့်လေ့ကျင့်ပါ။ အပိုင်း 2။ Helm ကို အသုံးပြု၍ Docker ပုံများကို Kubernetes သို့ ဖြန့်ကျက်ခြင်း။ "။
source: www.habr.com