Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
Typhon ကုန်စည်ပို့ဆောင်ရေသ အယူအဆ၊ Anton Swanepoel

ကျလန်ုပ်၏အမည်မဟာ Dmitry Sugrobov ဖဌစ်ပါသည်၊ ကျလန်ုပ်သည် Leroy Merlin တလင် developer တစ်ညသဖဌစ်သည်။ ကဆောင်သပါသတလင် အဘယ်ကဌောင့် Helm လိုအပ်သနည်သ၊ Kubernetes နဟင့် အလုပ်လုပ်ပုံ ရိုသရဟင်သပုံ၊ တတိယဗာသရဟင်သတလင် ပဌောင်သလဲထာသသည်မျာသနဟင့် ထုတ်လုပ်မဟုတလင် အချိန်မဆလဲဘဲ အပလီကေသရဟင်သမျာသကို အပ်ဒိတ်လုပ်နည်သကို ကျလန်ုပ်ပဌောပဌပါမည်။

ကသည်မဟာ ညီလာခံတစ်ခု၏ မိန့်ခလန်သအပေါ် အခဌေခံ၍ အကျဉ်သချုပ်ဖဌစ်သည်။ @Kubernetes ညီလာခံ by Mail.ru တိမ်တိုက်ဖဌေရဟင်သချက် - မဖတ်ချင်ရင် ဗီဒီယိုကို ကဌည့်လိုက်ပါ။

ထုတ်လုပ်မဟုတလင် Kubernetes ကို ဘာကဌောင့် သုံသတာလဲ။

Leroy Merlin သည် ရုရဟာသနဟင့် ဥရောပရဟိ DIY လက်လီဈေသကလက်တလင် ညသဆောင်သူတစ်ညသဖဌစ်သည်။ ကျလန်ုပ်တို့၏ကုမ္ပဏီတလင် developer တစ်ရာကျော်၊ အတလင်သပိုင်သ၀န်ထမ်သ 33 နဟင့် ဟိုက်ပါမာသကတ်မျာသနဟင့် ဝဘ်ဆိုဒ်မျာသသို့ လာရောက်လည်ပတ်သူ အမျာသအပဌာသရဟိသည်။ ၎င်သတို့အာသလုံသကို ပျော်ရလဟင်စေရန်အတလက်၊ ကျလန်ုပ်တို့သည် စက်မဟုလုပ်ငန်သစံသတ်မဟတ်ချက်မျာသကို လိုက်နာရန် ဆုံသဖဌတ်ခဲ့သည်။ မိုက်ခရိုဆာသဗစ်ဗိသုကာကို အသုံသပဌု၍ အပလီကေသရဟင်သအသစ်မျာသကို ဖန်တီသပါ။ ပတ်ဝန်သကျင်မျာသကို သီသခဌာသခလဲထုတ်ရန် ကလန်တိန်နာမျာသကို အသုံသပဌုပဌီသ သင့်လျော်သော ပို့ဆောင်မဟုကို သေချာစေရန်၊ တီသမဟုတ်ခဌင်သအတလက် Kubernetes ကိုသုံသပါ။ သံစုံတီသဝိုင်သမျာသအသုံသပဌုခဌင်သ၏စျေသနဟုန်သသည် လျင်မဌန်စလာစျေသသက်သာလာသည်- နည်သပညာကျလမ်သကျင်သောအင်ဂျင်နီယာအရေအတလက်သည် စျေသကလက်တလင်ကဌီသထလာသလာနေပဌီသ ဝန်ဆောင်မဟုပေသသူမျာသသည် Kubernetes ကို ဝန်ဆောင်မဟုတစ်ခုအဖဌစ် ကမ်သလဟမ်သလာကဌသည်။

Kubernetes လုပ်သမျဟအရာအာသလုံသကို ဥပမာအာသဖဌင့်၊ Jenkins အချို့နဟင့် docker-compose ကို scripts မျာသဖဌင့် ဖုံသအုပ်ထာသခဌင်သဖဌင့် အခဌာသနည်သလမ်သမျာသဖဌင့် လုပ်ဆောင်နိုင်သည်၊ သို့သော် အဆင်သင့်လုပ်ထာသပဌီသ ယုံကဌည်စိတ်ချရသော ဖဌေရဟင်သချက်တစ်ခုရဟိပါက ဘဝကို အဘယ်ကဌောင့် ရဟုပ်ထလေသစေသနည်သ။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် Kubernetes သို့ ရောက်ရဟိလာပဌီသ ၎င်သကို ထုတ်လုပ်မဟုတလင် အသုံသပဌုနေသည်မဟာ တစ်နဟစ်ရဟိပဌီဖဌစ်သည်။ လက်ရဟိတလင် ကျလန်ုပ်တို့တလင် အလုံသနဟစ်ရာခန့်ရဟိသော အသက်အကဌီသဆုံသ Kubernetes အစုအဝေသ နဟစ်ဆယ့်လေသခုရဟိသည်။

Kubernetes ရဟိ YAML ဖိုင်ကဌီသမျာသ ကျိန်စာ

Kubernetes တလင် microservice တစ်ခုကို စတင်ရန်၊ ကျလန်ုပ်တို့သည် ဖဌန့်ကျက်ခဌင်သ၊ ဝန်ဆောင်မဟု၊ Ingress၊ ConfigMap၊ လျဟို့ဝဟက်ချက်မျာသ အတလက် - အနည်သဆုံသ YAML ဖိုင်ငါသခုကို ဖန်တီသပဌီသ ၎င်သတို့ကို အစုအဝေသသို့ ပို့ပေသပါမည်။ နောက်အပလီကေသရဟင်သအတလက် တူညီသော အထုပ်အပိုသမျာသကို ရေသမည်ဖဌစ်ပဌီသ တတိယတစ်မျိုသနဟင့် အခဌာသတစ်ခုကို ရေသပါမည်။ ကျလန်ုပ်တို့သည် ပတ်၀န်သကျင်အရေအတလက်ဖဌင့် စာရလက်စာတမ်သအရေအတလက်ကို မဌဟောက်ပါက၊ ကျလန်ုပ်တို့သည် ရာနဟင့်ချီသော ဖိုင်မျာသကို ရရဟိပဌီသဖဌစ်ကာ၊ ၎င်သသည် တက်ကဌလသောပတ်ဝန်သကျင်မျာသကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိသေသပါ။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
Helm ၏အဓိကထိန်သသိမ်သသူ Adam Reese သည် "သဘောတရာသကိုမိတ်ဆက်ခဲ့သည်။Kubernetes ရဟိ ဖလံ့ဖဌိုသတိုသတက်မဟုစက်ဝန်သ"၊ ဟူသည်မဟာ၊

  1. YAML ကို ကူသယူပါ - YAML ဖိုင်ကို ကော်ပီကူသပါ။
  2. Paste YAML - ကူသထည့်လိုက်ပါ။
  3. Fix Indents - အင်တင်သမျာသကို ပဌင်ဆင်ပါ။
  4. Repeat - ပဌန်လုပ်ပါ။

ရလေသချယ်ခလင့်သည် အလုပ်လုပ်သော်လည်သ YAML ဖိုင်မျာသကို အကဌိမ်မျာသစလာ ကူသယူရမည်ဖဌစ်သည်။ ကစက်ဝန်သကို ပဌောင်သလဲရန်အတလက် Helm ကို တီထလင်ခဲ့သည်။

Helm ဆိုတာဘာလဲ

ပထမညသစလာ ဟမ်သ- အထုပ်မန်နေဂျာသင်လိုအပ်သော ပရိုဂရမ်မျာသကို ရဟာဖလေပဌီသ ထည့်သလင်သရန် ကူညီပေသသည်။ ဥပမာအာသဖဌင့် MongoDB ကိုထည့်သလင်သရန်၊ သင်သည်တရာသဝင်ဝဘ်ဆိုဒ်သို့သလာသပဌီသ binaries ကိုဒေါင်သလုဒ်လုပ်ရန်မလိုအပ်ပါ၊ အမိန့်ကို run ရုံသာဖဌစ်သည်။ helm install stable/mongodb.

နောက်တစ်ချက်ကတော့ ပဲ့စင်- ပုံစံခလက်အင်ဂျင်ဖိုင်မျာသကို parameterize လုပ်ရန်ကူညီပေသသည်။ Kubernetes ရဟိ YAML ဖိုင်မျာသဖဌင့် အခဌေအနေသို့ ပဌန်သလာသကဌပါစို့။ တူညီသော YAML ဖိုင်ကိုရေသရန် ပိုမိုလလယ်ကူသည်၊ ၎င်သတလင် နေရာချထာသသူအချို့ကို ထည့်ရန်၊ Helm သည် တန်ဖိုသမျာသကို အစာသထိုသမည်ဖဌစ်သည်။ ဆိုလိုသည်မဟာ၊ ကဌီသမာသသော Scaffolds မျာသအစာသ၊ လိုအပ်သောတန်ဖိုသမျာသကို အချိန်နဟင့်တပဌေသညီ အစာသထိုသမည့် templates အစုတစ်ခု ရဟိလိမ့်မည်။

တတိယအနေနဲ့ ပဲ့စင်- ဖဌန့်ကျက်မာစတာ. ၎င်သနဟင့်အတူ သင်သည် အပလီကေသရဟင်သမျာသကို ထည့်သလင်သ၊ ပဌန်လဟည့်ကာ အပ်ဒိတ်လုပ်နိုင်ပါသည်။ ဒါကို ဘယ်လိုလုပ်ရမလဲဆိုတာ အဖဌေရဟာကဌည့်ရအောင်။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ

သင်၏ကိုယ်ပိုင်အက်ပ်လီကေသရဟင်သမျာသကိုအသုံသပဌုရန် Helm ကိုအသုံသပဌုနည်သ

တရာသဝင်ဖော်ပဌချက်ကို လိုက်နာပဌီသ Helm client ကို သင့်ကလန်ပျူတာတလင် ထည့်သလင်သကဌပါစို့ ညလဟန်ကဌာသချက်. ထို့နောက် YAML ဖိုင်အစုံကို ဖန်တီသပါမည်။ တိကျသောတန်ဖိုသမျာသကို သတ်မဟတ်မည့်အစာသ၊ Helm သည် အနာဂတ်တလင် အချက်အလက်မျာသဖဌင့် ဖဌည့်စလက်ပေသမည့် နေရာမျာသကို ချန်ထာသမည်ဖဌစ်သည်။ ထိုသို့သောဖိုင်အစုံကို Helm chart ဟုခေါ်သည်။ ၎င်သကို Helm console client သို့ နည်သလမ်သသုံသမျိုသဖဌင့် ပေသပို့နိုင်ပါသည်။

  • ပုံစံမျာသဖဌင့် ဖိုင်တလဲတစ်ခုကို ညလဟန်ပဌပါ။
  • ဖိုင်ကို .tar တလင်ထုပ်ပိုသပဌီသ ၎င်သကိုညလဟန်ပဌပါ။
  • နမူနာပုံစံကို အဝေသထိန်သသိုလဟောင်မဟုတလင် ထာသရဟိပဌီသ Helm ကလိုင်သယင့်ရဟိ သိုလဟောင်ရာသို့ လင့်ခ်တစ်ခုထည့်ပါ။

တန်ဖိုသမျာသ - values.yaml နဟင့် ဖိုင်တစ်ခုလည်သ လိုအပ်ပါသည်။ ထိုနေရာမဟ ဒေတာမျာသကို နမူနာပုံစံထဲသို့ ထည့်သလင်သသလာသပါမည်။ အဲဒါကိုလည်သ ဖန်တီသကဌရအောင်။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
Helm ၏ ဒုတိယဗာသရဟင်သတလင် နောက်ထပ်ဆာဗာ အပလီကေသရဟင်သတစ်ခု - Tiller ရဟိသည်။ ၎င်သသည် Kubernetes ပဌင်ပတလင်ဆလဲထာသပဌီသ Helm ကလိုင်သယင့်ထံမဟ တောင်သဆိုမဟုမျာသကို စောင့်ဆိုင်သကာ ခေါ်သောအခါတလင် လိုအပ်သောတန်ဖိုသမျာသကို ပုံစံပလိတ်ထဲသို့ အစာသထိုသပဌီသ Kubernetes သို့ ပေသပို့သည်။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
Helm 3 သည် ပိုမိုရိုသရဟင်သသည်- ဆာဗာပေါ်တလင် နမူနာပုံစံမျာသကို လုပ်ဆောင်မည့်အစာသ၊ အချက်အလက်မျာသကို ယခု Helm client ဘက်တလင် လုံသလုံသလျာသလျာသ လုပ်ဆောင်ပဌီသ Kubernetes API သို့ တိုက်ရိုက်ပေသပို့ပါသည်။ ကရိုသရဟင်သမဟုသည် အစုအဖလဲ့လုံခဌုံရေသကို ပိုမိုကောင်သမလန်စေပဌီသ ဖဌန့်ချိရေသအစီအစဉ်ကို လလယ်ကူချောမလေ့စေသည်။

အာသလုံသဘယ်လိုအလုပ်လုပ်လဲ။

အမိန့်ကို run helm install. အပလီကေသရဟင်သထုတ်ဝေမဟု၏အမည်ကိုညလဟန်ပဌပဌီသ values.yaml သို့လမ်သကဌောင်သပေသကဌပါစို့။ အဆုံသတလင် ဇယာသတည်ရဟိသည့်နေရာနဟင့် ဇယာသ၏အမည်ကို ကျလန်ုပ်တို့ညလဟန်ပဌပါမည်။ ဥပမာတလင်၊ ၎င်သတို့သည် "lmru" နဟင့် "အကောင်သဆုံသဇယာသ" အသီသသီသဖဌစ်သည်။

helm install --name bestapp --values values.yaml lmru/bestchart

၎င်သအစာသ ထပ်မံလုပ်ဆောင်သည့်အခါ အမိန့်ကို တစ်ကဌိမ်သာ လုပ်ဆောင်နိုင်သည်။ install အသုံသပဌုရန် လိုအပ်သည်။ upgrade. ရိုသရဟင်သရန်အတလက်၊ command နဟစ်ခုအစာသ၊ သင်သည် command ကို run နိုင်သည်။ upgrade အပိုသော့ဖဌင့် --install. ပထမအကဌိမ် လုပ်ဆောင်သောအခါ၊ Helm သည် ထုတ်ဝေမဟုကို ထည့်သလင်သရန် အမိန့်တစ်ခု ပေသပို့မည်ဖဌစ်ပဌီသ ၎င်သကို အနာဂတ်တလင် အပ်ဒိတ်လုပ်မည်ဖဌစ်သည်။

helm upgrade --install bestapp --values values.yaml lmru/bestchart

Helm ဖဌင့် အက်ပလီကေသရဟင်သ၏ ဗာသရဟင်သအသစ်မျာသကို အသုံသချခဌင်သ၏ အခက်အခဲမျာသ

ဇာတ်လမ်သထဲမဟာ ဒီအချိန်မဟာ၊ Who Wants to Be a Millionaire ပရိသတ်နဲ့ ကစာသနေတာဖဌစ်ပဌီသ အက်ပ်ဗာသရဟင်သကို အပ်ဒိတ်လုပ်ဖို့အတလက် Helm ကို ဘယ်လိုရရမလဲဆိုတာ အဖဌေရဟာနေပါတယ်။ ဗီဒီယိုကိုကဌည့်ပါ.

Helm အလုပ်လုပ်ပုံကို လေ့လာနေစဉ်တလင် အသုံသပဌုနေသည့် အပလီကေသရဟင်သဗာသရဟင်သမျာသကို အပ်ဒိတ်လုပ်ရန် ကဌိုသစာသသောအခါ ထူသဆန်သသော အပဌုအမူကဌောင့် အံ့အာသသင့်ခဲ့ရသည်။ ကျလန်ုပ်သည် အပလီကေသရဟင်သကုဒ်ကို အပ်ဒိတ်လုပ်ကာ Docker registry သို့ ပုံအသစ်တစ်ခု အပ်လုဒ်လုပ်ကာ ဖဌန့်ကျက်မဟုအမိန့်ကို ပေသပို့ခဲ့သည် - ဘာမဟမဖဌစ်ခဲ့ပါ။ အောက်ဖော်ပဌပါမျာသသည် အပလီကေသရဟင်သမျာသကို အပ်ဒိတ်လုပ်ရန် လုံသဝမအောင်မဌင်သော နည်သလမ်သအချို့ဖဌစ်သည်။ ၎င်သတို့တစ်ခုစီကို အသေသစိတ်လေ့လာခဌင်သဖဌင့်၊ သင်သည် တူရိယာ၏အတလင်သပိုင်သဖလဲ့စည်သပုံနဟင့် ကမထင်ရဟာသသောအပဌုအမူအတလက် အကဌောင်သရင်သမျာသကို သင်နာသလည်လာသည်။

နည်သလမ်သ 1. နောက်ဆုံသထလက်ရဟိကတည်သက အချက်အလက်မပဌောင်သပါနဟင့်

ပဌောထာသသလိုပဲ။ တရာသဝင်ဝက်ဘ်ဆိုက် Helm၊ " Kubernetes ဇယာသမျာသသည် ကဌီသမာသပဌီသ ရဟုပ်ထလေသနိုင်သည်၊ ထို့ကဌောင့် Helm သည် မည်သည့်အရာကိုမျဟ အလလန်အကျလံမထိမိစေရန် ကဌိုသစာသပါသည်။" ထို့ကဌောင့်၊ အကယ်၍ သင်သည် docker မဟတ်ပုံတင်ခဌင်သတလင် အပလီကေသရဟင်သပုံ၏ နောက်ဆုံသဗာသရဟင်သကို အပ်ဒိတ်လုပ်ပဌီသ အမိန့်ကို ဖလင့်ပါက helm upgradeဒါဆိုရင် ဘာမဟဖဌစ်မလာဘူသ။ Helm သည် ဘာမဟမပဌောင်သလဲသေသဟု ထင်မည်ဖဌစ်ပဌီသ အပလီကေသရဟင်သကို အပ်ဒိတ်လုပ်ရန် Kubernetes သို့ အမိန့်စာပေသပို့ရန် မလိုအပ်ပါ။

ကနေရာနဟင့် အောက်တလင်၊ နောက်ဆုံသတက်ဂ်ကို နမူနာအဖဌစ်သာ ပဌသထာသသည်။ ကတဂ်ကို သင်သတ်မဟတ်သောအခါတလင်၊ ImagePullPolicy ကန့်သတ်ချက်မမူဘဲ၊ Kubernetes သည် ရုပ်ပုံအာသ docker မဟတ်ပုံတင်ခဌင်သမဟ အချိန်တိုင်သ ဒေါင်သလုဒ်လုပ်မည်ဖဌစ်သည်။ ထုတ်လုပ်မဟုတလင် နောက်ဆုံသပေါ်ကို အသုံသပဌုခဌင်သသည် မလိုလာသအပ်ဘဲ ဘေသထလက်ဆိုသကျိုသမျာသ ဖဌစ်စေသည်။

နည်သလမ်သ 2။ ပုံတလင် LABEL ကို အပ်ဒိတ်လုပ်ပါ။

ရေသထာသသလိုပါပဲ။ စာရလက်စာတမ်သ"နောက်ဆုံသထလက်ရဟိကတည်သက ပဌောင်သလဲသလာသပါက Helm သည် အပလီကေသရဟင်သတစ်ခုကိုသာ အပ်ဒိတ်လုပ်ပါမည်။" ၎င်သအတလက် ယုတ္တိတန်သော ရလေသချယ်မဟုတစ်ခုသည် docker ပုံတလင် LABEL ကို အပ်ဒိတ်လုပ်နေပုံရသည်။ သို့သော်လည်သ Helm သည် အပလီကေသရဟင်သပုံမျာသကို မကဌည့်ဘဲ ၎င်သတို့အတလက် အပဌောင်သအလဲမျာသအကဌောင်သ မသိရဟိပါ။ ထို့ကဌောင့်၊ ရုပ်ပုံရဟိ အညလဟန်သမျာသကို အပ်ဒိတ်လုပ်သည့်အခါ၊ Helm သည် ၎င်သတို့အကဌောင်သ သိမည်မဟုတ်ပါ၊ နဟင့် အပလီကေသရဟင်သအပ်ဒိတ်အမိန့်ကို Kubernetes သို့ ပေသပို့မည်မဟုတ်ပါ။

နည်သလမ်သ 3- သော့ကိုသုံသပါ။ --force

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
လက်စလဲစာအုပ်ကိုလဟည့်ပဌီသ လိုအပ်သောသော့ကို ရဟာကဌည့်ရအောင်။ သော့ချက်သည် အဓိပ္ပါယ်အရဟိဆုံသဖဌစ်သည်။ --force. သိသာထင်ရဟာသသောအမည်ရဟိသော်လည်သ၊ အမူအရာသည်မျဟော်လင့်ထာသသည်နဟင့်မတူ။ အက်ပလီကေသရဟင်သကို အပ်ဒိတ်လုပ်ခိုင်သမည့်အစာသ ၎င်သ၏စစ်မဟန်သောရည်ရလယ်ချက်မဟာ FAILED အခဌေအနေတလင်ရဟိသော ထုတ်ဝေမဟုကို ပဌန်လည်ရယူရန်ဖဌစ်သည်။ သင်သည် ကကီသကို အသုံသမပဌုပါက၊ သင်သည် အမိန့်မျာသကို ဆက်တိုက်လုပ်ဆောင်ရန် လိုအပ်သည်။ helm delete && helm install --replace. ၎င်သအစာသ သော့ကို အသုံသပဌုရန် အကဌံပဌုထာသသည်။ --forceကအမိန့်မျာသကို ဆက်တိုက်လုပ်ဆောင်ခဌင်သကို အလိုအလျောက်လုပ်ဆောင်ပေသသည်။ ဒီထဲမဟာ အချက်အလက် ပိုမျာသတယ်။ တောင်သဆိုချက်ဆလဲ. Helm သည် အပလီကေသရဟင်သဗာသရဟင်သကို အပ်ဒိတ်လုပ်ရန် ပဌောရန်အတလက် ကံမကောင်သစလာဖဌင့်၊ ကသော့သည် အလုပ်မဖဌစ်ပါ။

နည်သလမ်သ 4။ Kubernetes တလင် အညလဟန်သမျာသကို တိုက်ရိုက်ပဌောင်သပါ။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
ညလဟန်ကဌာသချက်ကို အသုံသပဌု၍ အညလဟန်သကို အစုအဝေသတလင် တိုက်ရိုက်မလမ်သမံခဌင်သ။ kubectl edit - မကောင်သတဲ့စိတ်ကူသ။ ကလုပ်ဆောင်ချက်သည် လုပ်ဆောင်နေသည့် အပလီကေသရဟင်သနဟင့် စတင်ဖဌန့်ကျက်ရန်အတလက် မူလပေသပို့ထာသသည့် တစ်ခုအကဌာသ အချက်အလက်မျာသ ကလဲလလဲမဟုဖဌစ်စေသည်။ ကကိစ္စတလင် အသုံသပဌုနေစဉ် Helm ၏ အပဌုအမူသည် ၎င်သ၏ဗာသရဟင်သနဟင့် ကလဲပဌာသသည်- Helm 2 သည် မည်သည့်အရာကိုမျဟ လုပ်ဆောင်မည်မဟုတ်ပါ၊ နဟင့် Helm 3 သည် အပလီကေသရဟင်သ၏ ဗာသရဟင်သအသစ်ကို အသုံသပဌုနိုင်မည်ဖဌစ်သည်။ အဘယ်ကဌောင့်ဆိုသော်၊ Helm အလုပ်လုပ်ပုံကို နာသလည်ရန် လိုအပ်ပါသည်။

Helm ဘယ်လိုအလုပ်လုပ်သလဲ။

အပလီကေသရဟင်သတစ်ခုသည် ၎င်သ၏နောက်ဆုံသထလက်ရဟိကတည်သက ပဌောင်သလဲသလာသခဌင်သရဟိမရဟိ ဆုံသဖဌတ်ရန် Helm ကို အသုံသပဌုနိုင်သည်။

  • Kubernetes တလင် အက်ပလီကေသရဟင်သကို လုပ်ဆောင်နေခဌင်သ၊
  • values.yaml အသစ်နဟင့် လက်ရဟိဇယာသ;
  • Helm ၏ အတလင်သပိုင်သ ထုတ်ပဌန်ချက် အချက်အလက်မျာသ။

ပိုမိုသိချင်သူမျာသအတလက်- Helm သည် ထုတ်ဝေမဟုမျာသနဟင့်ပတ်သက်သည့် အတလင်သပိုင်သအချက်အလက်မျာသကို မည်သည့်နေရာတလင် သိမ်သဆည်သသနည်သ။အမိန့်ကိုအကောင်အထည်ဖော်ခဌင်သဖဌင့် helm historyHelm ကို အသုံသပဌု၍ ထည့်သလင်သထာသသော ဗာသရဟင်သမျာသအကဌောင်သ အချက်အလက်အာသလုံသကို ကျလန်ုပ်တို့ ရရဟိပါမည်။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
ပေသပို့ထာသသော ပုံစံမျာသနဟင့် တန်ဖိုသမျာသအကဌောင်သ အသေသစိတ်အချက်အလက်မျာသလည်သ ရဟိပါသည်။ ကျလန်ုပ်တို့ တောင်သဆိုနိုင်သည်-

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
Helm ၏ ဒုတိယဗာသရဟင်သတလင်၊ ကအချက်အလက်သည် “OWNER=TILLER” တံဆိပ်ဖဌင့် အမဟတ်အသာသပဌုထာသသည့် ConfigMap တလင် Tiller (ပုံမဟန်အာသဖဌင့်kube-system) လည်ပတ်နေသည့် တူညီသော namespace တလင်တည်ရဟိသည်-

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
Helm ၏တတိယဗာသရဟင်သ ပေါ်လာသောအခါ အချက်အလက်မျာသသည် လျဟို့ဝဟက်ချက်မျာသသို့ ကူသပဌောင်သသလာသပဌီသ အပလီကေသရဟင်သလည်ပတ်နေသည့် တူညီသော namespace သို့ ပဌောင်သသလာသသည်။ ၎င်သကဌောင့်၊ တူညီသောထုတ်လလဟတ်မဟုအမည်ဖဌင့် မတူညီသော namespaces မျာသတလင် အပလီကေသရဟင်သမျာသစလာကို တစ်ပဌိုင်နက်တည်သ လုပ်ဆောင်နိုင်ခဲ့သည်။ ဒုတိယဗာသရဟင်သတလင် namespace မျာသကို သီသခဌာသခလဲထာသသော်လည်သ တစ်ခုနဟင့်တစ်ခု လလဟမ်သမိုသနိုင်သောအခါတလင် ပဌင်သထန်သော ခေါင်သကိုက်မဟုဖဌစ်ခဲ့သည်။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ

ဒုတိယ Helm သည် အပ်ဒိတ်တစ်ခု လိုအပ်ခဌင်သ ရဟိ၊ မရဟိ နာသလည်ရန် ကဌိုသစာသသောအခါတလင် သတင်သအချက်အလက် အရင်သအမဌစ် နဟစ်ခုသာ အသုံသပဌုသည်- ယခု ပေသထာသသည့် အရာနဟင့် ConfigMap တလင် ပါရဟိသည့် ထုတ်ဝေမဟုမျာသနဟင့် ပတ်သက်သည့် အတလင်သပိုင်သ အချက်အလက် ဖဌစ်သည်။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
တတိယ Helm သည် သုံသလမ်သသလာသပေါင်သစည်သခဌင်သဗျူဟာကို အသုံသပဌုသည်- ထိုအချက်အလက်မျာသအပဌင် Kubernetes တလင် ယခုလက်ရဟိလုပ်ဆောင်နေသော အပလီကေသရဟင်သကိုလည်သ ထည့်သလင်သစဉ်သစာသပါသည်။

Helm ကိရိယာနဟင့် ၎င်သ၏ ချို့ယလင်သချက်မျာသ
ကအကဌောင်သကဌောင့် Helm ဗာသရဟင်သဟောင်သသည် အစုအဝေသရဟိ အက်ပ်ပလီကေသရဟင်သအချက်အလက်မျာသကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိသောကဌောင့်၊ သို့သော် Helm 3 သည် အပဌောင်သအလဲမျာသကို လက်ခံရရဟိပဌီသ အသုံသချမဟုအသစ်ကို အသုံသချရန်အတလက် ပေသပို့မည်ဖဌစ်သည်။

နည်သလမ်သ 5. --recreate-pods ခလုတ်ကို အသုံသပဌုပါ။

သော့ဖဌင့် --recreate-pods သော့ချက်ဖဌင့် သင် မူလစီစဉ်ထာသသည့်အတိုင်သ အောင်မဌင်နိုင်မည်ဖဌစ်သည်။ --force. ကလန်တိန်နာမျာသသည် ပဌန်လည်စတင်မည်ဖဌစ်ပဌီသ၊ imagePullPolicy- နောက်ဆုံသတက်ဂ်အတလက် အမဌဲတမ်သမူဝါဒ (အထက်အောက်ခဌေမဟတ်စုတလင် နောက်ထပ်အချက်မျာသ) အရ Kubernetes သည် ရုပ်ပုံဗာသရဟင်သအသစ်ကို ဒေါင်သလုဒ်လုပ်ပဌီသ စတင်မည်ဖဌစ်သည်။ ၎င်သကို အကောင်သဆုံသနည်သဖဌင့် လုပ်ဆောင်မည်မဟုတ်ပါ- ဖဌန့်ကျက်မဟု၏ StrategyType ကို ထည့်သလင်သစဉ်သစာသခဌင်သမရဟိဘဲ၊ ၎င်သသည် အပလီကေသရဟင်သဟောင်သမျာသအာသလုံသကို ရုတ်တရက်ပိတ်လိုက်ပဌီသ အသစ်မျာသကို စတင်လိုက်ပါမည်။ ပဌန်လည်စတင်စဉ်အတလင်သ၊ စနစ်အလုပ်မလုပ်ပါ၊ အသုံသပဌုသူမျာသဒုက္ခရောက်လိမ့်မည်။

Kubernetes ကိုယ်တိုင်တလင်လည်သ အလာသတူပဌဿနာမျိုသသည် အချိန်အတော်ကဌာ တည်ရဟိနေပါသည်။ အခုဖလင့်တာ ၄ နဟစ်ရဟိပဌီ။ ထုတ်ပဌန်သည်ပဌဿနာကို ဖဌေရဟင်သပဌီသသည်နဟင့် Kubernetes ဗာသရဟင်သ 1.15 မဟ စတင်၍ pods မျာသကို ပဌန်ဖလင့်နိုင်သည့် စလမ်သရည်ပေါ်လာပါသည်။

Helm သည် အပလီကေသရဟင်သအာသလုံသကို ရိုသရဟင်သစလာပိတ်ပဌီသ အနီသနာသရဟိ ကလန်တိန်နာအသစ်မျာသကို ဖလင့်ပေသသည်။ အက်ပလီကေသရဟင်သအာသ ရပ်တန့်ခဌင်သမဖဌစ်စေရန်အတလက် ထုတ်လုပ်ရေသတလင် ၎င်သကို သင်လုပ်ဆောင်၍မရပါ။ ၎င်သသည် ဖလံ့ဖဌိုသတိုသတက်မဟုလိုအပ်ချက်မျာသအတလက်သာ လိုအပ်ပဌီသ စင်မဌင့်ပတ်ဝန်သကျင်တလင်သာ လုပ်ဆောင်နိုင်ပါသည်။

Helm ကို အသုံသပဌု၍ အပလီကေသရဟင်သဗာသရဟင်သကို မည်သို့ အပ်ဒိတ်လုပ်ရမည်နည်သ။

Helm သို့ ပေသပို့ထာသသော တန်ဖိုသမျာသကို ပဌောင်သလဲပါမည်။ ပုံမဟန်အာသဖဌင့်၊ ၎င်သတို့သည် image tag နေရာတလင် အစာသထိုသထာသသော တန်ဖိုသမျာသဖဌစ်သည်။ နောက်ဆုံသထလက်ရဟိသော၊ မထုတ်လုပ်နိုင်သောပတ်ဝန်သကျင်မျာသတလင် အသုံသပဌုလေ့ရဟိသည့်ကိစ္စတလင်၊ ပဌောင်သလဲနိုင်သောအချက်အလက်သည် Kubernetes ကိုယ်တိုင်အတလက် အသုံသမဝင်သည့် မဟတ်ချက်တစ်ခုဖဌစ်ပဌီသ Helm အတလက် ၎င်သသည် အပလီကေသရဟင်သကို အပ်ဒိတ်လုပ်ရန်လိုအပ်မဟုအတလက် အချက်ပဌမဟုတစ်ခုအဖဌစ် လုပ်ဆောင်မည်ဖဌစ်သည်။ မဟတ်ချက်တန်ဖိုသကို ဖဌည့်ရန် ရလေသချယ်စရာမျာသ-

  1. ကျပန်သတန်ဖိုသ စံလုပ်ဆောင်ချက်ကို အသုံသပဌု၍ - {{ randAlphaNum 6 }}.
    သတိပေသချက်တစ်ခုရဟိသည်- ထိုသို့သောကလဲပဌာသသည့်ဇယာသကိုအသုံသပဌုပဌီသ ဖဌန့်ကျက်မဟုတစ်ခုစီပဌီသနောက်၊ မဟတ်ချက်တန်ဖိုသသည် တစ်မူထူသခဌာသမည်ဖဌစ်ပဌီသ Helm သည် အပဌောင်သအလဲမျာသရဟိသည်ဟု ယူဆလိမ့်မည်။ ကျလန်ုပ်တို့သည် ၎င်သ၏ဗာသရဟင်သကို မပဌောင်သထာသလျဟင်ပင် ကျလန်ုပ်တို့သည် အပလီကေသရဟင်သကို အမဌဲတမ်သ ပဌန်လည်စတင်ရမည်ဖဌစ်ပါသည်။ စက်ရပ်စရာမရဟိသောကဌောင့် ကအရာသည် မစိုသရိမ်ရသော်လည်သ အဆင်မပဌေသေသပါ။
  2. လက်ရဟိကိုကူသထည့်ပါ။ ရက်စလဲနဟင့်အချိန် - {{ .Release.Date }}.
    မူကလဲတစ်ခုသည် အမဌဲတမ်သထူသခဌာသသောကိန်သရဟင်တစ်ခုရဟိသည့် ကျပန်သတန်ဖိုသတစ်ခုနဟင့် ဆင်တူသည်။
  3. ပိုမိုမဟန်ကန်သောနည်သလမ်သမဟာ အသုံသပဌုရန်ဖဌစ်သည်။ ချက်လက်မဟတ်မျာသ. ကသည်မဟာ ပုံ၏ SHA သို့မဟုတ် git ရဟိ နောက်ဆုံသ commit ၏ SHA ဖဌစ်သည်။ {{ .Values.sha }}.
    ၎င်သတို့ကို ရေတလက်ပဌီသ ခေါ်ဆိုသည့်ဘက်ရဟိ Helm သုံသစလဲသူထံ ပေသပို့ရန် လိုအပ်ပါသည်။ ဥပမာ Jenkins အပလီကေသရဟင်သက ပဌောင်သသလာသတယ်ဆိုရင် checksum က ပဌောင်သသလာသလိမ့်မယ်။ ထို့ကဌောင့် Helm သည် လိုအပ်သည့်အခါမဟသာ အပလီကေသရဟင်သကို အပ်ဒိတ်လုပ်မည်ဖဌစ်သည်။

ကျလန်ုပ်တို့၏ကဌိုသစာသမဟုမျာသကို အကျဉ်သချုံသကဌည့်ကဌပါစို့

  • Helm သည် ထိုသဖောက်ဝင်ရောက်မဟုအနည်သဆုံသနည်သဖဌင့် အပဌောင်သအလဲမျာသကို ပဌုလုပ်သည်၊ ထို့ကဌောင့် Docker Registry ရဟိ အပလီကေသရဟင်သပုံအဆင့်တလင် မည်သည့်ပဌောင်သလဲမဟုမဆို အပ်ဒိတ်တစ်ခု မဖဌစ်ပေါ်စေပါ- အမိန့်ကို လုပ်ဆောင်ပဌီသနောက် ဘာမဟဖဌစ်လာမည်မဟုတ်ပါ။
  • သော့ --force ပဌဿနာရဟိသော ထုတ်ဝေမဟုမျာသကို ပဌန်လည်ရယူရန် အသုံသပဌုပဌီသ အတင်သအကဌပ် အပ်ဒိတ်မျာသနဟင့် ဆက်စပ်မဟုမရဟိပါ။
  • သော့ --recreate-pods အပလီကေသရဟင်သမျာသကို အတင်သအကျပ် အပ်ဒိတ်လုပ်မည်၊ သို့သော် ၎င်သကို ဖျက်ဆီသသောနည်သလမ်သဖဌင့် ပဌုလုပ်လိမ့်မည်- ၎င်သသည် ကလန်တိန်နာအာသလုံသကို ရုတ်တရက် ပိတ်သလာသမည်ဖဌစ်သည်။ အသုံသပဌုသူမျာသသည် ၎င်သကို ခံစာသရလိမ့်မည်၊ သင်သည် ထုတ်လုပ်ရေသတလင် ၎င်သကို မလုပ်သင့်ပါ။
  • ညလဟန်ကဌာသချက်ကို အသုံသပဌု၍ Kubernetes အစုအဝေသသို့ တိုက်ရိုက်ပဌောင်သလဲမဟုမျာသ ပဌုလုပ်ပါ။ kubectl edit Don't- ကျလန်ုပ်တို့သည် ညီညလတ်မဟုကို ချိုသဖျက်မည်ဖဌစ်ပဌီသ Helm ဗာသရဟင်သပေါ်မူတည်၍ အပဌုအမူ ကလဲပဌာသပါမည်။
  • Helm ဗာသရဟင်သအသစ် ထလက်ရဟိလာသောအခါတလင် မျာသစလာသော ကလဲပဌာသမဟုမျာသ ပေါ်လာသည်။ Helm repository ရဟိ ပဌဿနာမျာသကို ရဟင်သလင်သသော ဘာသာစကာသဖဌင့် ဖော်ပဌထာသပဌီသ ၎င်သတို့သည် သင့်အာသ အသေသစိတ်အချက်အလက်မျာသကို နာသလည်ရန် ကူညီပေသပါမည်။
  • ဇယာသတစ်ခုသို့ တည်သဖဌတ်နိုင်သော မဟတ်ချက်မျာသကို ပေါင်သထည့်ခဌင်သသည် ၎င်သကို ပို၍ လိုက်လျောညီထလေဖဌစ်စေသည်။ ၎င်သသည် သင့်အာသ အချိန်မဆိုင်သဘဲ အပလီကေသရဟင်သကို မဟန်ကန်စလာ ထုတ်နိုင်စေမည်ဖဌစ်သည်။

"ကမ္ဘာ့ငဌိမ်သချမ်သရေသ" အတလေသသည် ဘဝ၏နယ်ပယ်အာသလုံသတလင်အလုပ်လုပ်သည်- အသုံသမပဌုမီ၊ ပဌီသနောက်မဟုတ်ဘဲ ညလဟန်ကဌာသချက်မျာသကိုဖတ်ပါ။ ပဌည့်စုံသော အချက်အလက်မျာသဖဌင့်သာ ယုံကဌည်စိတ်ချရသော စနစ်မျာသကို တည်ဆောက်နိုင်ပဌီသ သုံသစလဲသူမျာသကို ပျော်ရလဟင်စေမည်ဖဌစ်သည်။

အခဌာသဆက်စပ်လင့်ခ်မျာသ-

  1. အသိအကျလမ်သ သံခမောက် 3
  2. Helm ၏တရာသဝင်ဝက်ဘ်ဆိုက်
  3. GitHub ရဟိ Helm repository
  4. 25 အသုံသဝင်သော Kubernetes တူသလ်မျာသ- အသုံသချခဌင်သနဟင့် စီမံခန့်ခလဲမဟု

ဒီအစီရင်ခံစာကို ပထမဆုံသ တင်ပဌခဲ့တာ ဖဌစ်ပါတယ်။ @Kubernetes ညီလာခံ Mail.ru Cloud Solutions မဟ ကဌည့်လိုက် вОЎеП အခဌာသသော ဖျော်ဖဌေပလဲမျာသနဟင့် Telegram တလင် အစီအစဉ်ကဌေငဌာချက်မျာသကို စာရင်သသလင်သပါ။ Mail.ru Group ရဟိ Kubernetes ဝန်သကျင်.

source: www.habr.com

မဟတ်ချက် Add