GitOps- Pull နဟင့် Push နည်သလမ်သမျာသကို နဟိုင်သယဟဉ်ခဌင်သ။

မဟတ်ချက်။ ဘာသာပဌန်- Kubernetes အသိုင်သအဝိုင်သတလင်၊ GitOps ဟုခေါ်သော ခေတ်ရေစီသကဌောင်သသည် ကျလန်ုပ်တို့ကိုယ်တိုင်တလေ့မဌင်ခဲ့ရသည့်အတိုင်သ သိသာထင်ရဟာသသောရေပန်သစာသလာပါသည်။ လာရောက်လည်ပတ် KubeCon Europe 2019။ ကအသုံသအနဟုန်သသည် အတော်လေသမကဌာသေသပါ။ တီထလင်ခဲ့သည်။ Weaveworks ၏ အကဌီသအကဲ - Alexis Richardson မဟ နဟင့် လုပ်ငန်သလည်ပတ်မဟုဆိုင်ရာ ပဌဿနာမျာသကို ဖဌေရဟင်သရန်အတလက် developer မျာသ (အဓိကအာသဖဌင့် Git ဟူသော အမည်) ကို ဆိုလိုပါသည်။ အထူသသဖဌင့်၊ ကျလန်ုပ်တို့သည် ၎င်သ၏ဖလဲ့စည်သပုံမျာသကို Git တလင် သိမ်သဆည်သပဌီသ အစုအဝေသသို့ အပဌောင်သအလဲမျာသကို အလိုအလျောက် ထုတ်ပေသခဌင်သဖဌင့် Kubernetes ၏ လုပ်ဆောင်ချက်အကဌောင်သ ပဌောနေပါသည်။ Matthias Jg သည် ကဆောင်သပါသတလင် ကစတင်ခဌင်သအတလက် ချဉ်သကပ်မဟုနဟစ်ခုအကဌောင်သ ဆလေသနလေသထာသသည်။

GitOps- Pull နဟင့် Push နည်သလမ်သမျာသကို နဟိုင်သယဟဉ်ခဌင်သ။

လလန်ခဲ့သောနဟစ်တလင်, (အမဟန်အာသဖဌင့်၊ ကသည်မဟာ 2017 ခုနဟစ် သဌဂုတ်လတလင် ဖဌစ်ပလာသခဲ့သည် - ခန့်မဟန်သခဌေ ဘာသာပဌန်ပါသည်။) Kubernetes တလင် အပလီကေသရဟင်သမျာသ အသုံသပဌုရန် ချဉ်သကပ်မဟုအသစ်တစ်ခု ရဟိပါသည်။ ၎င်သကို GitOps ဟုခေါ်သည်၊ ၎င်သသည် အသုံသပဌုမဟုဗာသရဟင်သမျာသကို Git repository ၏ လုံခဌုံသောပတ်ဝန်သကျင်တလင် ခဌေရာခံသည်ဟူသော အခဌေခံအယူအဆအပေါ် အခဌေခံထာသသည်။

ကချဉ်သကပ်မဟု၏ အဓိကအာသသာချက်မျာသမဟာ အောက်ပါအတိုင်သဖဌစ်သည်။:

  1. ဖဌန့်ကျက်မူကလဲနဟင့် ပဌောင်သလဲခဌင်သမဟတ်တမ်သ. အစုအဝေသတစ်ခုလုံသ၏ အခဌေအနေအာသ Git သိုလဟောင်မဟုတလင် သိမ်သဆည်သထာသပဌီသ ဖဌန့်ကျက်မဟုမျာသကို ကလန်မန့်မျာသမဟတစ်ဆင့်သာ အပ်ဒိတ်လုပ်ထာသသည်။ ထို့အပဌင်၊ အပဌောင်သအလဲမျာသအာသလုံသကို commit history ကို အသုံသပဌု၍ ခဌေရာခံနိုင်သည်။
  2. ရင်သနဟီသသော Git ညလဟန်ကဌာသချက်မျာသကို အသုံသပဌု၍ ပဌန်လဟည့်ခဌင်သမျာသ. ရိုသရိုသရဟင်သရဟင်သ git reset ဖဌန့်ကျက်မဟုမျာသတလင် ပဌောင်သလဲမဟုမျာသကို ပဌန်လည်သတ်မဟတ်ရန် သင့်အာသ ခလင့်ပဌုသည်။ ယခင်ပဌည်နယ်မျာသသည် အမဌဲရဟိနိုင်သည်။
  3. အဆင်သင့်ဝင်ရောက်ထိန်သချုပ်မဟု. ပုံမဟန်အာသဖဌင့်၊ Git စနစ်တလင် အရေသကဌီသသောဒေတာမျာသစလာပါရဟိသောကဌောင့် ကုမ္ပဏီအမျာသစုသည် ၎င်သကိုကာကလယ်ရန် အထူသအာရုံစိုက်ကဌသည်။ ထို့ကဌောင့် ကအကာအကလယ်သည် ဖဌန့်ကျက်ခဌင်သဆိုင်ရာ လုပ်ငန်သမျာသနဟင့်လည်သ သက်ဆိုင်ပါသည်။
  4. ဖဌန့်ကျက်မဟုအတလက် မူဝါဒမျာသ. Git စနစ်အမျာသစုသည် ဌာနခလဲအလိုက် မူဝါဒမျာသကို မူလအာသဖဌင့် ပံ့ပိုသပေသသည်—ဥပမာ၊ ဆလဲတင်တောင်သဆိုမဟုမျာသသာ မာစတာကို အပ်ဒိတ်လုပ်နိုင်ပဌီသ အပဌောင်သအလဲမျာသကို အခဌာသအဖလဲ့၀င်မဟ ပဌန်လည်သုံသသပ်ပဌီသ လက်ခံရပါမည်။ ဝင်ရောက်ထိန်သချုပ်မဟုနဟင့်အတူ၊ တူညီသောမူဝါဒမျာသသည် ဖဌန့်ကျက်အပ်ဒိတ်မျာသနဟင့် သက်ဆိုင်ပါသည်။

သင်တလေ့မဌင်ရသည့်အတိုင်သ GitOps နည်သလမ်သအတလက် အကျိုသကျေသဇူသမျာသစလာရဟိသည်။ ပဌီသခဲ့သောနဟစ်တလင်၊ ချဉ်သကပ်မဟုနဟစ်ခုသည် အထူသရေပန်သစာသလာခဲ့သည်။ တစ်ခုက တလန်သအာသအခဌေခံဖဌစ်ပဌီသ နောက်တစ်ခုက ဆလဲအာသအခဌေခံပါတယ်။ ၎င်သတို့ကို မကဌည့်မီ၊ ပုံမဟန် Kubernetes ဖဌန့်ကျက်မဟုပုံစံကို ညသစလာကဌည့်ကဌပါစို့။

ဖဌန့်ကျက်ရေသနည်သလမ်သမျာသ

မကဌာသေသမီနဟစ်မျာသအတလင်သ၊ Kubernetes သည် ဖဌန့်ကျက်ခဌင်သအတလက် နည်သလမ်သအမျိုသမျိုသနဟင့် ကိရိယာမျာသကို တည်ထောင်ခဲ့သည်-

  1. မူရင်သ Kubernetes/Kustomize နမူနာမျာသကို အခဌေခံထာသသည်။. ကသည်မဟာ Kubernetes တလင် အပလီကေသရဟင်သမျာသကို အသုံသချရန် အလလယ်ကူဆုံသနည်သလမ်သဖဌစ်သည်။ ဆော့ဖ်ဝဲအင်ဂျင်နီယာသည် အခဌေခံ YAML ဖိုင်မျာသကို ဖန်တီသပဌီသ ၎င်သတို့ကို အသုံသချသည်။ တူညီသောပုံစံမျာသကို အဆက်မပဌတ်ပဌန်လည်ရေသသာသခဌင်သကို ဖယ်ရဟာသရန် Kustomize ကို တီထလင်ခဲ့သည် (၎င်သသည် Kubernetes နမူနာမျာသကို မော်ဂျူသမျာသအဖဌစ်သို့ ပဌောင်သလဲသည်)။ မဟတ်ချက်။ ဘာသာပဌန်: Kustomize ကို kubectl ဖဌင့် ပေါင်သစပ်ထာသသည်။ Kubernetes 1.14 ထုတ်ဝေမဟု.
  2. ပဲ့စင်ဇယာသမျာသ. Helm charts မျာသသည် template-based ချဉ်သကပ်မဟုထက် ပိုမိုပဌောင်သလလယ်ပဌင်လလယ် စိတ်ကဌိုက်ရလေသချယ်မဟုမျာသဖဌင့် အပလီကေသရဟင်သမျာသကို အသုံသချရန်အတလက် အသုံသပဌုသည့် တင်သပလိတ်အစုံ၊ init containers၊ sidecars စသည်တို့ကို ဖန်တီသနိုင်စေပါသည်။ ကနည်သလမ်သသည် နမူနာပုံစံ YAML ဖိုင်မျာသကို အခဌေခံထာသသည်။ Helm သည် ၎င်သတို့အာသ အမျိုသမျိုသသော ကန့်သတ်ချက်မျာသဖဌင့် ဖဌည့်ပေသပဌီသနောက် ၎င်သတို့အာသ အစုအဝေသသို့ ဖဌန့်ကျက်ပဌီသ အပ်ဒိတ်မျာသနဟင့် ပဌန်လဟည့်မဟုမျာသကို ခလင့်ပဌုသည့် အစုအဝေသတစ်ခုဖဌစ်သည့် Tiller သို့ ပေသပို့သည်။ အရေသကဌီသသည်မဟာ Helm သည် အခဌေခံအာသဖဌင့် လိုချင်သောတန်ဖိုသမျာသကို နမူနာပုံစံမျာသထဲသို့ ထည့်သလင်သပဌီသ သမာသရိုသကျချဉ်သကပ်နည်သအတိုင်သ လုပ်ဆောင်သည့်အတိုင်သ ၎င်သတို့ကို အသုံသချရန်၊ (၎င်သအာသလုံသ၏အလုပ်လုပ်ပုံနဟင့်ကျလန်ုပ်တို့၌၎င်သကိုသင်မည်သို့အသုံသပဌုနိုင်သည်အကဌောင်သပိုမိုဖတ်ရဟုပါ။ Helm ၏ဆောင်သပါသ - ခန့်မဟန်သခဌေ ဘာသာပဌန်။). အလုပ်မျာသစလာကို အကျုံသဝင်သော အဆင်သင့်လုပ် Helm ဇယာသမျာသ အမျာသအပဌာသရဟိပါသည်။
  3. အစာသထိုသကိရိယာမျာသ. အစာသထိုသကိရိယာမျာသစလာရဟိသည်။ ၎င်သတို့အာသလုံသတလင် တူညီသောအရာမဟာ အချို့သော နမူနာဖိုင်မျာသကို Kubernetes-ဖတ်နိုင်သော YAML ဖိုင်မျာသအဖဌစ်သို့ ပဌောင်သပဌီသနောက် ၎င်သတို့ကို အသုံသပဌုခဌင်သဖဌစ်သည်။

ကျလန်ုပ်တို့၏အလုပ်တလင်၊ ကျလန်ုပ်တို့သည် အရေသကဌီသသောကိရိယာမျာသအတလက် Helm ဇယာသမျာသကို အဆက်မပဌတ်အသုံသပဌုသည် (၎င်သတို့တလင် အရာမျာသစလာအဆင်သင့်ရဟိထာသပဌီသဖဌစ်သောကဌောင့်၊ ပိုမိုလလယ်ကူစေသည်) နဟင့် ကျလန်ုပ်တို့၏ကိုယ်ပိုင်အက်ပ်လီကေသရဟင်သမျာသကိုအသုံသပဌုရန်အတလက် "သန့်စင်သော" Kubernetes YAML ဖိုင်မျာသကို အသုံသပဌုပါသည်။

ဆလဲ & တလန်သ

ကျလန်ုပ်၏ မကဌာသေသမီက ဘလော့ဂ်ပို့စ်မျာသတလင် ကျလန်ုပ်သည် ကိရိယာကို မိတ်ဆက်ပေသခဲ့သည်။ Weave FluxGit repository တလင် ပုံစံပလိတ်မျာသ သလင်သနိုင်ပဌီသ ကလန်တိန်နာ၏ commit သို့မဟုတ် push တစ်ခုစီတိုင်သပဌီသနောက် ဖဌန့်ကျက်မဟုကို အပ်ဒိတ်လုပ်ခလင့်ပဌုသည်။ ကျလန်ုပ်၏ အတလေ့အကဌုံအရ ကကိရိယာသည် ဆလဲယူချဉ်သကပ်မဟုကို မဌဟင့်တင်ရာတလင် အဓိကအချက်မျာသထဲမဟ တစ်ခုဖဌစ်ကဌောင်သ ပဌသသည်၊ ထို့ကဌောင့် ၎င်သကို ကျလန်ုပ်မကဌာခဏ ကိုသကာသပါမည်။ အသုံသပဌုပုံအသေသစိတ်သိချင်ရင် ဒီမဟာ ဆောင်သပါသလင့်ခ်.

NB GitOps အသုံသပဌုခဌင်သ၏ အကျိုသကျေသဇူသမျာသအာသလုံသသည် နည်သလမ်သနဟစ်ခုစလုံသအတလက် အတူတူပင်ဖဌစ်ပါသည်။

ချဉ်သကပ်မဟုအပေါ် အခဌေခံ၍ ဆလဲတင်၊

GitOps- Pull နဟင့် Push နည်သလမ်သမျာသကို နဟိုင်သယဟဉ်ခဌင်သ။

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

အပဌစ်တလေ:

  1. မည်သည့် ပဌင်ပကလိုင်သယင့်တလင်မဟ အစုအဝေသသို့ အပဌောင်သအလဲမျာသ ပဌုလုပ်ရန် အခလင့်အရေသမျာသ မရဟိပါ။ အပ်ဒိတ်အာသလုံသကို အတလင်သမဟ ထုတ်လလဟတ်ပါသည်။
  2. အချို့သောကိရိယာမျာသသည် Helm ဇယာသမလမ်သမံမဟုမျာသကို တစ်ပဌိုင်တည်သလုပ်ဆောင်နိုင်ပဌီသ ၎င်သတို့ကို အစုအဝေသသို့ ချိတ်ဆက်နိုင်စေပါသည်။
  3. ဗာသရဟင်သအသစ်မျာသအတလက် Docker Registry ကို စကင်န်ဖတ်နိုင်ပါသည်။ ပုံအသစ်တစ်ခုရနိုင်ပါက၊ Git သိုလဟောင်မဟုနဟင့် အသုံသချမဟုကို ဗာသရဟင်သအသစ်သို့ အပ်ဒိတ်လုပ်ထာသသည်။
  4. Pull tools မျာသကို မတူညီသော Git repositories နဟင့် ခလင့်ပဌုချက်မျာသဖဌင့် မတူညီသော namespace မျာသတလင် ဖဌန့်ဝေနိုင်ပါသည်။ ဒီအတလက်ကဌောင့် Multitenant မော်ဒယ်ကို အသုံသပဌုနိုင်ပါတယ်။ ဥပမာအာသဖဌင့်၊ အဖလဲ့ A သည် namespace A ကို အသုံသပဌုနိုင်ပဌီသ၊ အဖလဲ့ B သည် namespace B ကို အသုံသပဌုနိုင်ပဌီသ အခဌေခံအဆောက်အညအဖလဲ့သည် global space ကို အသုံသပဌုနိုင်သည်။
  5. စည်သကမ်သအရ၊ ကိရိယာမျာသသည် အလလန်ပေါ့ပါသသည်။
  6. အော်ပရေတာကဲ့သို့သောကိရိယာမျာသနဟင့်ပေါင်သစပ် Bitnami အလုံပိတ်လျဟို့ဝဟက်ချက်မျာသလျဟို့ဝဟက်ချက်မျာသကို Git repository တလင် ကုဒ်ဝဟက်ပဌီသ အစုအဝေသအတလင်သ ပဌန်လည်ရယူနိုင်သည်။
  7. အစုအဝေသအတလင်သ ဖဌန့်ကျက်မဟုမျာသ ဖဌစ်ပေါ်လာသောကဌောင့် CD ပိုက်လိုင်သမျာသနဟင့် ချိတ်ဆက်မဟု မရဟိပါ။

МОМусы:

  1. Helm ဇယာသမျာသမဟ ဖဌန့်ကျက်မဟုလျဟို့ဝဟက်ချက်မျာသကို စီမံခန့်ခလဲရန်မဟာ ပုံမဟန်အရာမျာသထက် ပိုမိုခက်ခဲပါသည်။ ၎င်သတို့ကို ပထမညသစလာ တံဆိပ်ခတ်ထာသသော လျဟို့ဝဟက်ချက်မျာသဟု ဆိုကာ၊ ထို့နောက် အတလင်သပိုင်သအော်ပရေတာမဟ စာဝဟက်ထာသကာ ၎င်သတို့ကို ဆလဲထုတ်သည့်ကိရိယာတလင် ရရဟိနိုင်သည့်အတလက်ကဌောင့် ဖဌစ်သည်။ ထို့နောက် အသုံသပဌုထာသပဌီသသော လျဟို့ဝဟက်ချက်မျာသရဟိ တန်ဖိုသမျာသဖဌင့် Helm တလင် ထုတ်ဝေမဟုကို သင်လုပ်ဆောင်နိုင်သည်။ အလလယ်ဆုံသနည်သလမ်သမဟာ ဖဌန့်ကျက်မဟုအတလက် အသုံသပဌုသည့် Helm တန်ဖိုသမျာသအာသလုံသကို လျဟို့ဝဟက်ဖန်တီသရန်၊ ၎င်သကို ကုဒ်ဝဟက်ပဌီသ Git သို့ အပ်နဟံရန်ဖဌစ်သည်။
  2. ဆလဲနည်သကို ချဉ်သကပ်တဲ့အခါ၊ ကိရိယာတလေကို ဆလဲထုတ်ဖို့ ချည်နဟောင်ခံရတယ်။ ၎င်သသည် အစုအဝေသတစ်ခုအတလင်သ ဖဌန့်ကျက်မဟုလုပ်ငန်သစဉ်ကို စိတ်ကဌိုက်ပဌင်ဆင်နိုင်မဟုကို ကန့်သတ်ထာသသည်။ ဥပမာအာသဖဌင့်၊ Kustomize သည် နောက်ဆုံသ templates မျာသကို Git သို့မသတ်မဟတ်မီ ၎င်သကို run ရမည်ဟူသောအချက်ကဌောင့် ရဟုပ်ထလေသပါသည်။ သင်သည် သီသခဌာသကိရိယာမျာသကို မသုံသနိုင်ဟု ငါမပဌောသော်လည်သ ၎င်သတို့သည် သင်၏အသုံသချမဟုလုပ်ငန်သစဉ်တလင် ပေါင်သစည်သရန် ပို၍ခက်ခဲသည်။

Push based ရေသပါတယ်။

GitOps- Pull နဟင့် Push နည်သလမ်သမျာသကို နဟိုင်သယဟဉ်ခဌင်သ။

တလန်သအာသပေသချဉ်သကပ်မဟုတလင်၊ ပဌင်ပစနစ် (အဓိကအာသဖဌင့် CD ပိုက်လိုင်သမျာသ) သည် Git သိုလဟောင်မဟုသို့ ကတိကဝတ်ပဌုပဌီသနောက် သို့မဟုတ် ယခင် CI ပိုက်လိုင်သ အောင်မဌင်ပါက အစုအဝေသသို့ ဖဌန့်ကျက်ချထာသမဟုမျာသကို စတင်သည်။ ကချဉ်သကပ်မဟုတလင်၊ စနစ်သည် အစုအဝေသသို့ ဝင်ရောက်နိုင်သည်။

Плюсы:

  1. လုံခဌုံရေသကို Git repository မဟ ဆုံသဖဌတ်ပဌီသ ပိုက်လိုင်သတည်ဆောက်သည်။
  2. Helm ဇယာသမျာသကို အသုံသပဌုခဌင်သသည် ပိုမိုလလယ်ကူပဌီသ Helm ပလပ်အင်မျာသကို ပံ့ပိုသပေသပါသည်။
  3. လျဟို့ဝဟက်ချက်မျာသကို ပိုက်လိုင်သမျာသတလင် အသုံသပဌုနိုင်ပဌီသ Git တလင် စာဝဟက်သိမ်သဆည်သထာသနိုင်သောကဌောင့် လျဟို့ဝဟက်ချက်မျာသကို စီမံခန့်ခလဲရန် ပိုမိုလလယ်ကူပါသည်။
  4. မည်သည့်အမျိုသအစာသကိုမဆို သုံသနိုင်သောကဌောင့် သီသခဌာသကိရိယာတစ်ခုနဟင့် ချိတ်ဆက်မဟုမရဟိပါ။
  5. ပိုက်လိုင်သတည်ဆောက်ခဌင်သဖဌင့် ကလန်တိန်နာဗာသရဟင်သမလမ်သမံမဟုမျာသကို စတင်နိုင်သည်။

МОМусы:

  1. အစုအဝေသဝင်ရောက်ခလင့်ဒေတာသည် တည်ဆောက်မဟုစနစ်အတလင်သဖဌစ်သည်။
  2. ဆလဲယူသည့် လုပ်ငန်သစဉ်ဖဌင့် အသုံသပဌုသည့် ကလန်တိန်နာမျာသကို အပ်ဒိတ်လုပ်ခဌင်သသည် ပိုမိုလလယ်ကူပါသည်။
  3. ကျလန်ုပ်တို့လိုအပ်သော ပိုက်လိုင်သမျာသသည် Gitlab Runners အတလက် မူလက ရေသသာသထာသသောကဌောင့် CD စနစ်အပေါ် အလလန်အမင်သ မဟီခိုရပဌီသ၊ ထို့နောက် အဖလဲ့သည် Azure DevOps သို့မဟုတ် Jenkins သို့ ပဌောင်သရလဟေ့ရန် ဆုံသဖဌတ်လိုက်ပဌီသ တည်ဆောက်သည့် ပိုက်လိုင်သအမျာသအပဌာသကို ရလဟေ့ပဌောင်သရမည်ဖဌစ်ပါသည်။

ရလဒ်မျာသ- တလန်သပါ သို့မဟုတ် ဆလဲမလာသ။

ပုံမဟန်အတိုင်သပါပဲ၊ ချဉ်သကပ်မဟုတစ်ခုစီတိုင်သမဟာ သူ့ရဲ့ အာသသာချက် အာသနည်သချက်တလေ ရဟိပါတယ်။ အချို့သောအလုပ်မျာသသည် တစ်ခုနဟင့်တစ်ခု ပဌီသမဌောက်ရန် ပိုမိုလလယ်ကူပဌီသ အခဌာသတစ်ခုနဟင့်တစ်ခု ပိုမိုခက်ခဲသည်။ အစပိုင်သတလင် ကျလန်ုပ်သည် ဖဌန့်ကျက်မဟုမျာသကို ကိုယ်တိုင်လုပ်ဆောင်နေသော်လည်သ Weave Flux နဟင့်ပတ်သက်သည့် ဆောင်သပါသအချို့ကို တလေ့ပဌီသနောက် ပရောဂျက်အာသလုံသအတလက် GitOps လုပ်ငန်သစဉ်မျာသကို အကောင်အထည်ဖော်ရန် ဆုံသဖဌတ်ခဲ့သည်။ အခဌေခံ တမ်သပလိတ်မျာသအတလက် ၎င်သသည် လလယ်ကူသော်လည်သ၊ ထို့နောက်တလင် Helm ဇယာသမျာသဖဌင့် အခက်အခဲမျာသနဟင့် စတင်ခဲ့သည်။ ထိုအချိန်တလင်၊ Weave Flux သည် Helm Chart အော်ပရေတာ၏ အခဌေခံဗာသရဟင်သကိုသာ ကမ်သလဟမ်သခဲ့သော်လည်သ ယခုအခါ အချို့သောအလုပ်မျာသသည် လျဟို့ဝဟက်ချက်မျာသကို ကိုယ်တိုင်ဖန်တီသပဌီသ အသုံသချရန် လိုအပ်ခဌင်သကဌောင့်ပင် ပိုမိုခက်ခဲလာပါသည်။ ဆလဲယူချဉ်သကပ်မဟုသည် အစုအဖလဲ့၏အထောက်အထာသမျာသကို အစုအဝေသပဌင်ပသို့ဝင်ရောက်၍မရနိုင်သောကဌောင့် ပိုမိုလုံခဌုံသောကဌောင့်၊ ၎င်သသည် အပိုအာသထုတ်ရကျိုသနပ်သောကဌောင့် ပိုမိုလုံခဌုံသည်ဟု စောဒကတက်နိုင်သည်။

တစ်ချို့က တလေသပဌီသတဲ့အခါ မထင်မဟတ်ထာသတဲ့ နိဂုံသချုပ်ကို ရောက်သလာသတယ်။ ကျလန်ုပ်တို့သည် အမဌင့်ဆုံသကာကလယ်မဟုလိုအပ်သည့် အစိတ်အပိုင်သမျာသအကဌောင်သ ပဌောဆိုပါက၊ ကစာရင်သတလင် လျဟို့ဝဟက်သိုလဟောင်မဟု၊ CI/CD စနစ်မျာသနဟင့် Git သိုလဟောင်မဟုမျာသ ပါဝင်မည်ဖဌစ်သည်။ ၎င်သတို့အတလင်သရဟိ အချက်အလက်မျာသသည် အလလန်ထိခိုက်လလယ်ပဌီသ အမဌင့်ဆုံသကာကလယ်မဟု လိုအပ်ပါသည်။ ထို့အပဌင်၊ တစ်စုံတစ်ယောက်သည် သင်၏ Git repository ထဲသို့ ဝင်သလာသပဌီသ ထိုနေရာတလင် ကုဒ်ကို တလန်သပို့နိုင်လျဟင် ၎င်သတို့သည် ၎င်သတို့အလိုရဟိသော အရာကို (ဆလဲထုတ်သည်ဖဌစ်စေ၊ တလန်သသည်ဖဌစ်စေ) နဟင့် အစုအဖလဲ့၏ စနစ်မျာသကို စိမ့်ဝင်နိုင်သည်။ ထို့ကဌောင့် ကာကလယ်ရန် လိုအပ်သော အရေသကဌီသဆုံသ အစိတ်အပိုင်သမျာသမဟာ အစုလိုက် အထောက်အထာသမျာသ မဟုတ်ဘဲ Git repository နဟင့် CI/CD စနစ်မျာသ ဖဌစ်သည်။ သင့်တလင် ကစနစ်အမျိုသအစာသမျာသအတလက် ကောင်သမလန်စလာဖလဲ့စည်သထာသသော မူဝါဒမျာသနဟင့် လုံခဌုံရေသထိန်သချုပ်မဟုမျာသရဟိပဌီသ၊ အစုအဖလဲ့အထောက်အထာသမျာသကို လျဟို့ဝဟက်ချက်မျာသအဖဌစ် ပိုက်လိုင်သမျာသအတလင်သသာ ထုတ်ယူပါက၊ ဆလဲယူချဉ်သကပ်မဟု၏ ထပ်လောင်သလုံခဌုံရေသသည် မူလထင်ထာသသလောက် တန်ဖိုသရဟိမည်မဟုတ်ပါ။

ထို့ကဌောင့် ဆလဲယူချဉ်သကပ်မဟုသည် အလုပ်သမာသပို၍ ပဌင်သထန်ပဌီသ လုံခဌုံရေသအကျိုသအမဌတ်ကို မပေသပါက၊ တလန်သအာသပေသချဉ်သကပ်မဟုကိုသာ အသုံသပဌုခဌင်သသည် ယုတ္တိတန်သည်မဟုတ်လော။ သို့သော် တလန်သအာသပေသချဉ်သကပ်မဟုတလင် သင်သည် CD စနစ်နဟင့် လလန်ကဲစလာ ဆက်စပ်နေပဌီသ၊ အနာဂတ်တလင် ရလဟေ့ပဌောင်သသလာသလာမဟုမျာသကို ပိုမိုလလယ်ကူလာစေရန် ယင်သကို မလုပ်ခဌင်သသည် ပိုကောင်သသည်ဟု တစ်စုံတစ်ညသက စောဒကတက်နိုင်သည်။

ကျလန်ုပ်၏အမဌင်အရ (အမဌဲတမ်သအတိုင်သ) သင်သည် သီသခဌာသကိစ္စရပ်တစ်ခုအတလက် အသင့်တော်ဆုံသအရာကို သုံသသင့်သည် သို့မဟုတ် ပေါင်သစပ်သင့်သည်။ ကိုယ်တိုင်ကိုယ်ကျ၊ ကျလန်ုပ်သည် ချဉ်သကပ်မဟုနဟစ်ခုလုံသကို အသုံသပဌုသည်- ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ဝန်ဆောင်မဟုမျာသအမျာသစုပါဝင်သော ဆလဲငင်အာသအခဌေခံသည့် ဖဌန့်ကျက်မဟုအတလက် Weave Flux နဟင့် Helm နဟင့် plugins မျာသဖဌင့် တလန်သအာသပေသသည့်ချဉ်သကပ်မဟုဖဌင့် Helm ဇယာသမျာသကို အစုအဝေသတလင် အလလယ်တကူအသုံသချနိုင်ပဌီသ လျဟို့ဝဟက်ချက်မျာသကို ချောမလေ့စလာဖန်တီသနိုင်စေပါသည်။ ကိစ္စရပ်တိုင်သအတလက် သင့်လျော်သော အဖဌေတစ်ခုမျဟ ရဟိမည်မဟုတ်ဟု ကျလန်ုပ်ထင်သည်၊ အကဌောင်သမဟာ၊ ၎င်သတို့သည် တိကျသော အသုံသချမဟုအပေါ် မူတည်၍ အမဌဲတမ်သ ကလဲပဌာသမဟုမျာသ ရဟိနေသောကဌောင့် ဖဌစ်သည်။ ထိုသို့ဆိုရလျဟင် ကျလန်ုပ်သည် GitOps ကို အထူသအကဌံပဌုလိုပါသည် - ၎င်သသည် ဘဝပိုမိုလလယ်ကူစေပဌီသ လုံခဌုံရေသကို တိုသတက်စေသည်။

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

ဘာသာပဌန်သူထံမဟ PS မဟတ်ချက်

ဆလဲယူမော်ဒယ်၏ အာသနည်သချက်မဟာ Git တလင် ပဌန်ဆိုထာသသော သရုပ်ဖော်မဟုမျာသကို ထည့်သလင်သရန် ခက်ခဲကဌောင်သ၊ သို့သော် ဆလဲယူမော်ဒယ်ရဟိ CD ပိုက်လိုင်သသည် ထုတ်ယူခဌင်သမဟ သီသခဌာသစီနေထိုင်ပဌီသ အဓိကအာသဖဌင့် အမျိုသအစာသ ပိုက်လိုင်သဖဌစ်လာခဌင်သ အာသနည်သချက်မရဟိပေ။ စဉ်ဆက်မပဌတ် လျဟောက်ထာသပါ။. ထို့ကဌောင့်၊ ဖဌန့်ကျက်မဟုအာသလုံသမဟ ၎င်သတို့၏ အဆင့်အတန်သကို စုဆောင်သရန်နဟင့် CD စနစ်အာသ အကိုသအကာသဖဌင့် မဟတ်တမ်သ/အခဌေအနေသို့ တစ်နည်သတစ်ဖုံ ဝင်ရောက်ခလင့်ပေသရန် ပို၍ပင် အာသထုတ်မဟု လိုအပ်မည်ဖဌစ်သည်။

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

ကျလန်ုပ်တို့သည် မော်ဒယ်နဟစ်မျိုသလုံသကို စမ်သသပ်ပဌီသ ဆောင်သပါသရေသသာသသူကဲ့သို့ တူညီသော နိဂုံသချုပ်ချက်မျာသ ရရဟိခဲ့ပါသည်။

  1. ဆလဲထုတ်ပုံစံသည် အစုအဝေသအမျာသအပဌာသတလင် စနစ်အစိတ်အပိုင်သမျာသ၏ မလမ်သမံမဟုမျာသကို စုစည်သရန် ကျလန်ုပ်တို့အတလက် သင့်လျော်သည် (ကဌည့်ရဟုပါ။ addon-operator အကဌောင်သ ဆောင်သပါသ).
  2. GitLab CI ကိုအခဌေခံထာသသော push model သည် Helm charts ကိုအသုံသပဌု၍ applications မျာသထုတ်ရန်အတလက်ကောင်သစလာသင့်လျော်သည်။ တစ်ချိန်တည်သမဟာပင်၊ ပိုက်လိုင်သမျာသအတလင်သ ဖဌန့်ကျက်ချထာသမဟုမျာသကို ကိရိယာကို အသုံသပဌု၍ စောင့်ကဌည့်နေပါသည်။ werf. စကာသမစပ်၊ ကျလန်ုပ်တို့၏ကပရောဂျက်၏အခဌေအနေတလင် KubeCon Europe'19 တလင် ကျလန်ုပ်တို့၏ရပ်တည်ချက်တလင် DevOps အင်ဂျင်နီယာမျာသ၏ အဓိကပဌဿနာမျာသကို ဆလေသနလေသသောအခါတလင် စဉ်ဆက်မပဌတ် "GitOps" ကို ကဌာသရသည်။

ဘာသာပဌန်သူထံမဟ PPS

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

စာရင်သသလင်သအသုံသပဌုသူမျာသသာ စစ်တမ်သတလင် ပါဝင်နိုင်ပါသည်။ ဆိုင်သအင်လုပ်ခဌင်သ, ကျေသဇူသပဌု။

သင် GitOps သုံသနေပါသလာသ။

  • ဟုတ်ကဲ့၊ ချဉ်သကပ်ပါ။

  • ဟုတ်တယ်၊ တလန်သပါ။

  • ဟုတ်တယ်၊ ဆလဲ + တလန်သ

  • ဟုတ်တယ်၊ တခဌာသအရာတစ်ခု

  • အဘယ်သူမျဟမ

အသုံသပဌုသူ 30 ဩှ မဲပေသခဲ့သည်။ အသုံသပဌုသူ 10 ရဟောင်နေခဲ့ပါတယ်။

source: www.habr.com

မဟတ်ချက် Add