DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

Kubernetes သည် အစုလိုက်အပဌုံလိုက် ထုတ်လုပ်မဟုပတ်ဝန်သကျင်တလင် Docker ကလန်တိန်နာမျာသကို အသုံသပဌုရန်အတလက် ကောင်သမလန်သောကိရိယာတစ်ခုဖဌစ်သည်။ သို့သော် Kubernetes မဖဌေရဟင်သနိုင်သော ပဌဿနာမျာသရဟိပါသည်။ မကဌာခဏ ထုတ်လုပ်မဟု ဖဌန့်ကျက်ခဌင်သအတလက်၊ ပဌင်ပ HTTP တောင်သဆိုမဟုမျာသကို ကိုင်တလယ်ရန်နဟင့် SSL offload မျာသကို လုပ်ဆောင်ရန် လိုအပ်သည့် လုပ်ငန်သစဉ်တလင် စက်ရပ်ခဌင်သကို ရဟောင်ရဟာသရန် အပဌည့်အဝ အလိုအလျောက် အပဌာရောင်/အစိမ်သရောင် ဖဌန့်ကျက်မဟု လိုအပ်ပါသည်။ ၎င်သသည် ha-proxy ကဲ့သို့သော load balancer နဟင့် ပေါင်သစည်သရန် လိုအပ်သည်။ နောက်ထပ်စိန်ခေါ်မဟုမဟာ cloud ပတ်ဝန်သကျင်တလင် လုပ်ဆောင်နေချိန်တလင် Kubernetes အစုအဝေသကို တစ်ဝက်တစ်ပျက် အလိုအလျောက် ချိန်ညဟိခဌင်သ ဥပမာ၊ ညအချိန်တလင် အစုအဝေသကို တစ်စိတ်တစ်ပိုင်သ ချဲ့ထလင်ခဌင်သ။

Kubernetes တလင် ကအင်္ဂါရပ်မျာသ မပါရဟိသော်လည်သ ၎င်သသည် အလာသတူပဌဿနာမျာသကို ဖဌေရဟင်သရန်အတလက် သင်အသုံသပဌုနိုင်သည့် API တစ်ခုကို ပေသပါသည်။ အပဌာရောင်/စိမ်သလန်သသော အလိုအလျောက် ဖဌန့်ကျက်ခဌင်သနဟင့် Kubernetes အစုအဝေသအတလက် ကိရိယာမျာသကို ပလင့်လင်သမဌင်သာစလာအခဌေခံ၍ ဖန်တီသထာသသည့် Cloud RTI ပရောဂျက်၏ တစ်စိတ်တစ်ပိုင်သအဖဌစ် တီထလင်ခဲ့သည်။

ဗီဒီယိုမဟတ်တမ်သတစ်ခုဖဌစ်သည့် ကဆောင်သပါသသည် ထုတ်လုပ်မဟုတလင် အချိန်မဆိုင်သဘဲ git commit မဟကုဒ်ကို လက်ခံသည့် ထုတ်လုပ်ရေသအဆင်သင့်ရဟိသော ပတ်ဝန်သကျင်ကို ဖန်တီသရန်အတလက် Kubernetes ကို အခဌာသ open source အစိတ်အပိုင်သမျာသနဟင့်အတူ မည်သို့ထည့်သလင်သရမည်ကို ပဌသထာသသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 1

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

Kubernetes သည် သေတ္တာအတလင်သမဟ အကျိုသရဟိရဟိအသုံသပဌုနိုင်သော ကိရိယာတစ်ခုမဟုတ်ပါ။ သေချာပါတယ်၊ သင်အဲဒါကိုလုပ်နိုင်တယ်၊ kubectl စသည်ဖဌင့်သုံသပါ၊ ဒါပေမယ့် API ကဒီပလပ်ဖောင်သအတလက်စိတ်ဝင်စာသစရာအကောင်သဆုံသနဲ့အသုံသဝင်ဆုံသအရာပါ။ လုပ်ဆောင်ချက်အစုတစ်ခုအနေဖဌင့် API ကိုအသုံသပဌုခဌင်သဖဌင့် Kubernetes တလင် သင်လုပ်ဆောင်လိုသည့် အရာအာသလုံသနီသပါသကို သင်ဝင်ရောက်နိုင်သည်။ kubectl ကိုယ်တိုင်လည်သ REST API ကိုအသုံသပဌုသည်။

၎င်သသည် REST ဖဌစ်သည်၊ ထို့ကဌောင့် သင်သည် က API နဟင့် အလုပ်လုပ်ရန် မည်သည့်ဘာသာစကာသ သို့မဟုတ် ကိရိယာကိုမဆို သုံသနိုင်သော်လည်သ စိတ်ကဌိုက်စာကဌည့်တိုက်မျာသက သင့်ဘဝကို ပိုမိုလလယ်ကူစေမည်ဖဌစ်သည်။ ကျလန်ုပ်၏အဖလဲ့သည် ထိုကဲ့သို့သော စာကဌည့်တိုက် ၂ ခုကို ရေသသာသခဲ့သည်- Java/OSGi အတလက် တစ်ခုနဟင့် Go အတလက် တစ်ခု။ ဒုတိယတစ်မျိုသကို မကဌာခဏအသုံသမပဌုသော်လည်သ မည်သည့်အခဌေအနေမျိုသတလင်မဆို သင့်တလင် ကအသုံသဝင်သောအရာမျာသ ရဟိနေပါသည်။ ၎င်သတို့သည် တစ်စိတ်တစ်ပိုင်သ လိုင်စင်ရ open-source ပရောဂျက်တစ်ခုဖဌစ်သည်။ ဘာသာစကာသအမျိုသမျိုသအတလက် စာကဌည့်တိုက်မျာသစလာရဟိသောကဌောင့် သင်နဟင့်အသင့်တော်ဆုံသမျာသကို ရလေသချယ်နိုင်ပါသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ထို့ကဌောင့်၊ သင်၏ဖဌန့်ကျက်မဟုကို အလိုအလျောက်စတင်ခဌင်သမပဌုမီ၊ လုပ်ငန်သစဉ်သည် မည်သည့်အချိန်နဟင့်မျဟ ရပ်တန့်မည်မဟုတ်ကဌောင်သ သေချာစေရန်လိုအပ်ပါသည်။ ဥပမာအာသဖဌင့်၊ လူမျာသသည် အပလီကေသရဟင်သမျာသကို အမျာသဆုံသအသုံသပဌုနေသည့် နေ့လယ်တလင် ကျလန်ုပ်တို့၏အဖလဲ့သည် ထုတ်လုပ်မဟုကို ဖဌန့်ကျက်လုပ်ဆောင်နေသောကဌောင့် ကလုပ်ငန်သစဉ်တလင် နဟောင့်နဟေသမဟုမျာသကို ရဟောင်ရဟာသရန် အရေသကဌီသပါသည်။ စက်ရပ်ခဌင်သကို ရဟောင်ရဟာသရန်အတလက် နည်သလမ်သ 2 ခုကို အသုံသပဌုသည်- အပဌာ/အစိမ်သ ဖဌန့်ကျက်ခဌင်သ သို့မဟုတ် လဟိမ့်မလမ်သမံခဌင်သ။ နောက်ဆုံသအခဌေအနေတလင်၊ သင့်တလင် အပလီကေသရဟင်သပုံတူ ၅ ခု လည်ပတ်နေပါက၊ ၎င်သတို့ကို တစ်ခုပဌီသတစ်ခု အဆင့်မဌဟင့်ထာသသည်။ ကနည်သလမ်သသည် ကောင်သမလန်သော်လည်သ အသုံသချမဟုလုပ်ငန်သစဉ်အတလင်သ သင့်တလင် အသုံသချပရိုဂရမ်၏ မတူညီသောဗာသရဟင်သမျာသရဟိပါက ၎င်သသည် မသင့်လျော်ပါ။ ကကိစ္စတလင်၊ backend သည် ဗာသရဟင်သဟောင်သကို လုပ်ဆောင်နေချိန်တလင် အသုံသပဌုသူ၏ အင်တာဖေ့စ်ကို သင် အပ်ဒိတ်လုပ်နိုင်ပဌီသ အပလီကေသရဟင်သ အလုပ်မလုပ်တော့ပါ။ ထို့ကဌောင့်၊ ပရိုဂရမ်သမင်သရဟုထောင့်အရ၊ ထိုသို့သောအခဌေအနေမျာသတလင် လုပ်ဆောင်ရန်မဟာ အလလန်ခက်ခဲပါသည်။

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

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

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

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

အပ်ဒိတ်လုပ်ထာသသောပုံတူမျာသအာသလုံသအလုပ်လုပ်နေကဌောင်သစနစ်ကအတည်ပဌုပဌီသနောက်၊ Deployer သည်ဖလဲ့စည်သပုံကိုမလမ်သမံပဌီသ ha-proxy ကိုပဌန်လည်စီစဉ်ပေသမည့်မဟန်ကန်သော confd ကိုဖဌတ်သန်သမည်ဖဌစ်သည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

၎င်သပဌီသနောက်မဟသာ ဗာသရဟင်သအသစ်၏ပုံတူမျာသနဟင့်အတူ pod သို့ အသလာသအလာရဟိလာမည်ဖဌစ်ပဌီသ pod အဟောင်သသည် ပျောက်သလာသမည်ဖဌစ်သည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ကယန္တရာသသည် Kubernetes ၏အင်္ဂါရပ်မဟုတ်ပါ။ အပဌာ/အစိမ်သ ဖဌန့်ကျက်ခဌင်သ၏ သဘောတရာသမဟာ အချိန်အတော်ကဌာခဲ့ပဌီဖဌစ်ပဌီသ ၎င်သသည် Load Balancer ကို အမဌဲအသုံသပဌုခဲ့သည်။ ပထမညသစလာ သင်သည် အပလီကေသရဟင်သ၏ ဗာသရဟင်သဟောင်သသို့ လမ်သကဌောင်သအာသလုံသကို ညလဟန်ပဌပဌီသ အပ်ဒိတ်ပဌီသနောက်၊ သင်သည် ၎င်သကို ဗာသရဟင်သအသစ်သို့ အပဌီသအပိုင် လလဟဲပဌောင်သပါ။ ကမူကို Kubernetes တလင်သာမကဘဲ အသုံသပဌုသည်။

ယခု ကျလန်ုပ်သည် သင့်အာသ ကျန်သမာရေသစစ်ဆေသမဟုမျာသလုပ်ဆောင်ပေသခဌင်သ၊ ပရောက်စီမျာသကို ပဌန်လည်စီစဉ်ပေသခဌင်သစသည်ဖဌင့် လုပ်ဆောင်ပေသသည့် Deployer အသစ်တစ်ခုနဟင့် မိတ်ဆက်ပေသပါမည်။ ၎င်သသည် ပဌင်ပကမ္ဘာနဟင့် မသက်ဆိုင်ဘဲ Kubernetes အတလင်သ၌ ရဟိနေသော အယူအဆတစ်ခုဖဌစ်သည်။ Open-source ကိရိယာမျာသကို အသုံသပဌု၍ သင်၏ကိုယ်ပိုင် Deployer အယူအဆကို သင်မည်ကဲ့သို့ ဖန်တီသနိုင်သည်ကို ကျလန်ုပ်ပဌသပါမည်။

ထို့ကဌောင့်၊ Deployer လုပ်သည့် ပထမဆုံသအရာမဟာ Kubernetes API ကို အသုံသပဌု၍ RC ကူသယူထိန်သချုပ်သည့်ကိရိယာကို ဖန်တီသခဌင်သဖဌစ်သည်။ က API သည် နောက်ထပ် ဖဌန့်ကျက်မဟုအတလက် pods နဟင့် ဝန်ဆောင်မဟုမျာသကို ဖန်တီသပေသသည်၊ ဆိုလိုသည်မဟာ ၎င်သသည် ကျလန်ုပ်တို့၏ အပလီကေသရဟင်သမျာသအတလက် လုံသဝအသစ်သော အစုအဝေသတစ်ခုကို ဖန်တီသပေသပါသည်။ RC သည် ပုံတူမျာသစတင်နေပဌီဟု အခိုင်အမာယုံကဌည်သည်နဟင့်တပဌိုင်နက် ၎င်သတို့၏လုပ်ဆောင်နိုင်စလမ်သအပေါ် ကျန်သမာရေသစစ်ဆေသမဟုပဌုလုပ်မည်ဖဌစ်သည်။ ဒါကိုလုပ်ဖို့၊ Deployer က GET /health command ကိုသုံသပါတယ်။ ၎င်သသည် သင့်လျော်သော စကန်ဖတ်သည့် အစိတ်အပိုင်သမျာသကို လုပ်ဆောင်ပဌီသ အစုအဝေသ၏ လုပ်ဆောင်မဟုကို ပံ့ပိုသပေသသည့် အစိတ်အပိုင်သအာသလုံသကို စစ်ဆေသသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

pods မျာသအာသလုံသသည် ၎င်သတို့၏ကျန်သမာရေသကို အစီရင်ခံပဌီသနောက်၊ Deployer သည် load balancer configuration ကို သိမ်သဆည်သခဌင်သအပါအဝင် Kubernetes မဟ အတလင်သပိုင်သ၌ အသုံသပဌုသည့် ခလဲဝေသိုလဟောင်မဟု- etcd ခလဲဝေသိုလဟောင်မဟုအသစ်တစ်ခုကို ဖန်တီသပေသပါသည်။ ကျလန်ုပ်တို့သည် ဒေတာကို etcd သို့ ရေသပဌီသ ဒေတာအသစ်အတလက် confd monitors etcd ဟုခေါ်သော ကိရိယာငယ်တစ်ခုဖဌစ်သည်။

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

သင်တလေ့မဌင်ရသည့်အတိုင်သ၊ အစိတ်အပိုင်သမျာသပေါမျာသသော်လည်သ၊ ကနေရာတလင်ရဟုပ်ထလေသသောအရာမရဟိပါ။ API နဲ့ etcd ကို ပိုအာရုံစိုက်ဖို့ လိုပါတယ်။ ကျလန်ုပ်တို့ကိုယ်တိုင်အသုံသပဌုနေသည့် အဖလင့်အရင်သအမဌစ်ဖဌန့်ကျက်သူအကဌောင်သ ပဌောပဌလိုသည်မဟာ Amdatu Kubernetes Deployer။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

၎င်သသည် Kubernetes ဖဌန့်ကျက်မဟုအာသ ကဌိုသကိုင်ခဌင်သအတလက် ကိရိယာတစ်ခုဖဌစ်ပဌီသ အောက်ပါအင်္ဂါရပ်မျာသပါရဟိသည်။

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

က Deployer သည် Kubernetes API ၏ထိပ်တလင် တည်ဆောက်ထာသပဌီသ လက်ကိုင်မျာသနဟင့် ဖဌန့်ကျက်မဟုမျာသကို စီမံခန့်ခလဲရန်အတလက် REST API နဟင့် ဖဌန့်ကျက်လုပ်ဆောင်နေစဉ်အတလင်သ မဟတ်တမ်သမျာသကို တိုက်ရိုက်ကဌည့်ရဟုရန်အတလက် Websocket API ကို ပံ့ပိုသပေသပါသည်။

၎င်သသည် load balancer configuration data ကို etcd တလင် ထည့်သလင်သထာသသောကဌောင့် ha-proxy ကို out-of-the-box ပံ့ပိုသမဟုဖဌင့် အသုံသပဌုရန် မလိုအပ်ဘဲ၊ သင်၏ကိုယ်ပိုင် load balancer configuration file ကို အလလယ်တကူ အသုံသပဌုပါ။ Amdatu Deployer ကို Kubernetes ကိုယ်တိုင်ကဲ့သို့ Go တလင် ရေသသာသထာသပဌီသ Apache မဟ လိုင်စင်ရထာသသည်။

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ကကုဒ်၏ အရေသကဌီသသော ကန့်သတ်ဘောင်မျာသထဲမဟတစ်ခုမဟာ “useHealthCheck” အလံကို ဖလင့်ရန်ဖဌစ်သည်။ ဖဌန့်ကျက်ခဌင်သလုပ်ငန်သစဉ်အတလင်သ စိတ်ပိုင်သဆိုင်ရာ စစ်ဆေသမဟုကို ပဌုလုပ်ရမည်ဟု ကျလန်ုပ်တို့ သတ်မဟတ်ရန် လိုအပ်ပါသည်။ ဖဌန့်ကျက်မဟုသည် အတည်ပဌုရန်မလိုအပ်သော ပဌင်ပအဖလဲ့အစည်သကလန်တိန်နာမျာသကို အသုံသပဌုသည့်အခါ ကဆက်တင်ကို ပိတ်နိုင်သည်။ ကဖော်ပဌချက်သည် ha-proxy လိုအပ်သည့် ပုံတူအရေအတလက်နဟင့် ရဟေ့ဆုံသ URL ကိုလည်သ ဖော်ပဌသည်။ အဆုံသတလင် port configuration၊ image စသည်တို့အတလက် အချက်အလက်အတလက် Kubernetes ကိုခေါ်ဆိုသည့် pod specification အလံ "podspec" ဖဌစ်သည်။ ၎င်သသည် ရိုသရိုသရဟင်သရဟင်သ JSON ဖော်ပဌချက်ဖဌစ်သည်။

open-source Amdatu ပရောဂျက်၏တစ်စိတ်တစ်ပိုင်သဖဌစ်သော နောက်ထပ်ကိရိယာတစ်ခုမဟာ Deploymentctl ဖဌစ်သည်။ ၎င်သတလင် ဖဌန့်ကျက်မဟုမျာသကို စီစဉ်သတ်မဟတ်ရန်၊ ဖဌန့်ကျက်မဟုမဟတ်တမ်သကို သိမ်သဆည်သရန်၊ ပဌင်ပကုမ္ပဏီအသုံသပဌုသူမျာသနဟင့် ဆော့ဖ်ဝဲရေသသာသသူမျာသထံမဟ ပဌန်လည်ခေါ်ယူမဟုအတလက် ဝဘ်ချိတ်မျာသပါရဟိသည်။ Amdatu Deployer ကိုယ်တိုင်က REST API ဖဌစ်သောကဌောင့် UI ကို သင်အသုံသမပဌုနိုင်သော်လည်သ ကအင်တာဖေ့စ်သည် မည်သည့် API မျဟမပါဝင်ဘဲ သင့်အတလက် ပိုမိုလလယ်ကူစေနိုင်ပါသည်။ Deploymentctl ကို Angular 2 ကို အသုံသပဌု၍ OSGi/Vertx ဖဌင့် ရေသသာသထာသသည်။

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ကတလင် ကျလန်ုပ်တို့သည် /health ကိုသာ တုံ့ပဌန်သည့် HTTP ဆာဗာကို ဖန်တီသနေသည်၊ ထို့ကဌောင့် ကအပလီကေသရဟင်သသည် ကျန်သမာရေသစစ်ဆေသမဟုသာဖဌစ်ပဌီသ အခဌာသဘာမျဟမရဟိပေ။ စစ်ဆေသမဟုအောင်မဌင်ပါက၊ အောက်တလင်ဖော်ပဌထာသသော JSON ဖလဲ့စည်သပုံကို အသုံသပဌုသည်။ ၎င်သတလင် deployer မဟ အသုံသချမည့် အပလီကေသရဟင်သဗာသရဟင်သ၊ ဖိုင်၏ထိပ်တလင် သင်မဌင်ရသည့် မက်ဆေ့ချ်နဟင့် ကျလန်ုပ်တို့၏ အပလီကေသရဟင်သသည် အလုပ်မလုပ်သည်ဖဌစ်စေ boolean ဒေတာအမျိုသအစာသ ပါရဟိသည်။

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

ဒါဆို စလိုက်ရအောင်။ ပထမညသစလာ၊ ကျလန်ုပ်တို့သည် command ~ kubectl get pods ကို အသုံသပဌု၍ လုပ်ဆောင်နေသည့် မည်သည့် pods မျာသ၏ရဟေ့မဟောက်တလင်မဆို စစ်ဆေသပဌီသ frontend URL မဟ တုံ့ပဌန်မဟုမရဟိခဌင်သအပေါ် အခဌေခံ၍၊ လက်ရဟိတလင် ဖဌန့်ကျက်မဟုမျာသ ပဌုလုပ်ထာသကဌောင်သ သေချာပါသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ယခု သင် ~ kubectl get pods ဟူသော အမိန့်ကို ပဌန်လုပ်ပါက၊ ha-proxy ကို ပဌန်လည်ပဌင်ဆင်ထာသသည့်အတောအတလင်သ စနစ်သည် စက္ကန့် 20 ကဌာ “အေသခဲ” သည်ကို တလေ့နိုင်သည်။ ထို့နောက်တလင်၊ ပေါ့ဒ်စတင်သည်နဟင့် ကျလန်ုပ်တို့၏ပုံစံတူကို ဖဌန့်ကျက်မဟုမဟတ်တမ်သတလင် တလေ့မဌင်နိုင်ပါသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

အခု ဒုတိယဗာသရဟင်သကို စမ်သကဌည့်ရအောင်။ ဒါကိုလုပ်ဖို့၊ "Hello, Kubernetes!" မဟ အပလီကေသရဟင်သရဲ့ မက်ဆေ့ချ်ကို ပဌောင်သလိုက်တယ်။ “Hello, Deployer!” တလင်၊ စနစ်သည် ကပုံအာသ ဖန်တီသပဌီသ ၎င်သကို Docker မဟတ်ပုံတင်မဟုတလင် နေရာချထာသပဌီသနောက်၊ ကျလန်ုပ်တို့သည် Deploymentctl ဝင်သဒိုသတလင် “Deploy” ခလုတ်ကို ထပ်မံနဟိပ်လိုက်ပါသည်။ ကကိစ္စတလင်၊ အပလီကေသရဟင်သ၏ပထမဗာသရဟင်သကို ဖဌန့်ကျက်သောအခါတလင် အသုံသချမဟုမဟတ်တမ်သကို အလိုအလျောက်စတင်သည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

command ~ kubectl get pods သည် လက်ရဟိတလင် အပလီကေသရဟင်သ ဗာသရဟင်သ 2 ခု လည်ပတ်နေကဌောင်သ ပဌသသော်လည်သ ရဟေ့တန်သတလင် ကျလန်ုပ်တို့သည် ဗာသရဟင်သ 1 ကို ဆက်လက် လုပ်ဆောင်နေသေသကဌောင်သ ပဌသသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

load balancer သည် ဗာသရဟင်သအသစ်သို့ အသလာသအလာကို ပဌန်ညလဟန်သခဌင်သမပဌုမီ ကျန်သမာရေသစစ်ဆေသမဟု အပဌီသသတ်ရန် စောင့်ဆိုင်သနေပါသည်။ စက္ကန့် 20 ကဌာပဌီသနောက်၊ ကျလန်ုပ်တို့သည် curl သို့ပဌောင်သပဌီသ ယခုကျလန်ုပ်တို့၌ အပလီကေသရဟင်သ၏ ဗာသရဟင်သ 2 ကို အသုံသပဌုထာသပဌီသ ပထမတစ်ခုကို ဖျက်လိုက်ပဌီဖဌစ်သည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ကသည်မဟာ "ကျန်သမာသော" အပလီကေသရဟင်သတစ်ခု၏အသုံသချမဟုဖဌစ်သည်။ အပလီကေသရဟင်သ၏ ဗာသရဟင်သအသစ်အတလက် ကျလန်ုပ်သည် Healthy parameter ကို true မဟ false သို့ ပဌောင်သလဲမည်ဆိုပါက၊ ဆိုလိုသည်မဟာ၊ ကျန်သမာရေသစစ်ဆေသမဟု မအောင်မဌင်သော အပလီကေသရဟင်သတစ်ခုအာသ အသုံသပဌုရန် ကဌိုသစာသကဌည့်ကဌပါစို့။ ဖလံ့ဖဌိုသတိုသတက်မဟုအဆင့်တလင် အပလီကေသရဟင်သတလင် ဖလဲ့စည်သမဟုပုံစံ အမဟာသအယလင်သအချို့ ပဌုလုပ်ခဲ့ပဌီသ ၎င်သကို ကပုံစံဖဌင့် ထုတ်လုပ်ရေသသို့ ပေသပို့ပါက ၎င်သသည် ဖဌစ်နိုင်သည်။

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

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

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

ကျရဟုံသနိုင်သည့်အရာတစ်ခုသာရဟိသည် - ကျန်သမာရေသစစ်ဆေသမဟုအောင်မဌင်ပါက၊ သို့သော် ၎င်သနဟင့်သက်ဆိုင်သည့်အလုပ်တာဝန်ကို ထမ်သဆောင်သည်နဟင့်တပဌိုင်နက် လျဟောက်လလဟာပျက်သလာသသည်၊ ဆိုလိုသည်မဟာ၊ ဖဌန့်ကျက်ပဌီသမဟသာ ပဌိုကျမဟုဖဌစ်လိမ့်မည်။ ကကိစ္စတလင်၊ သင်သည် ဗာသရဟင်သဟောင်သသို့ ကိုယ်တိုင်ပဌန်လဟည့်ရပါမည်။ ထို့ကဌောင့်၊ ၎င်သအတလက်ဒီဇိုင်သထုတ်ထာသသော open-source tools ဖဌင့် Kubernetes ကိုမည်သို့အသုံသပဌုရမည်ကို ကျလန်ုပ်တို့ကဌည့်ရဟုခဲ့သည်။ သင်၏ Build/Deploy pipelines တလင် ကကိရိယာမျာသကို သင်တည်ဆောက်ပါက အသုံသချမဟုလုပ်ငန်သစဉ်သည် ပိုမိုလလယ်ကူလာမည်ဖဌစ်သည်။ တစ်ချိန်တည်သမဟာပင်၊ ဖဌန့်ကျက်မဟုစတင်ရန် သင်သည် အသုံသပဌုသူအင်တာဖေ့စ်ကိုသုံသနိုင်သည် သို့မဟုတ် ဥပမာအာသဖဌင့် commit to master ကိုအသုံသပဌုခဌင်သဖဌင့် ကလုပ်ငန်သစဉ်ကို အပဌည့်အဝအလိုအလျောက်လုပ်ဆောင်နိုင်သည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ကျလန်ုပ်တို့၏ Build Server သည် Docker ပုံတစ်ခုကို ဖန်တီသပဌီသ ၎င်သကို Docker Hub သို့ တလန်သပို့မည် သို့မဟုတ် သင်အသုံသပဌုသည့် မည်သည့် registry ကိုမဆို ပဌုလုပ်မည်ဖဌစ်သည်။ Docker Hub သည် webhook ကို ပံ့ပိုသပေသသောကဌောင့် အထက်တလင်ပဌထာသသည့်အတိုင်သ Deployer မဟတစ်ဆင့် အဝေသထိန်သစနစ်ဖဌင့် ဖဌန့်ကျက်မဟုကို စတင်နိုင်ပါသည်။ ကနည်သဖဌင့် သင်သည် သင့်အပလီကေသရဟင်သ၏ ဖဌန့်ကျက်မဟုကို အလာသအလာရဟိသော ထုတ်လုပ်မဟုတလင် အပဌည့်အဝ အလိုအလျောက်လုပ်ဆောင်နိုင်သည်။

Kubernetes အစုအဝေသကို ချဲ့ထလင်ခဌင်သဖဌင့် နောက်အကဌောင်သအရာသို့ ဆက်သလာသကဌပါစို့။ kubectl command သည် scaling command တစ်ခုဖဌစ်ကဌောင်သ သတိပဌုပါ။ နောက်ထပ်အကူအညီဖဌင့်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏လက်ရဟိအစုအဝေသရဟိ ပုံစံတူအရေအတလက်ကို လလယ်ကူစလာ တိုသမဌဟင့်နိုင်ပါသည်။ သို့သော် လက်တလေ့တလင်၊ ကျလန်ုပ်တို့သည် pods မျာသထက် node အရေအတလက်ကို တိုသမဌဟင့်လိုပါသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

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

ကျလန်ုပ်တို့သည် Amazon သို့မဟုတ် အခဌာသသော cloud ဝန်ဆောင်မဟုကို အသုံသပဌုသည်ဖဌစ်စေ Kubernetes သည် အသုံသပဌုနေသည့် စက်အရေအတလက်နဟင့်ပတ်သက်၍ ဘာမျဟမသိသောကဌောင့် ၎င်သသည် စိန်ခေါ်မဟုဖဌစ်နိုင်သည်။ ၎င်သသည် သင့်အာသ node အဆင့်တလင် စနစ်အာသ အတိုင်သအတာဖဌင့် တိုင်သတာရန် ခလင့်ပဌုသည့်ကိရိယာတစ်ခု ချို့တဲ့နေသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ထို့ကဌောင့် ကျလန်ုပ်တို့သည် node နဟင့် pods တို့ကို ဂရုစိုက်ရမည်ဖဌစ်ပါသည်။ Kubernetes လုပ်သာသ node အရေအတလက်ကို စီစဉ်သတ်မဟတ်ရန် AWS API နဟင့် Scaling အုပ်စုစက်မျာသကို အသုံသပဌု၍ node အသစ်မျာသ၏ စတင်မဟုကို အလလယ်တကူ အတိုင်သအတာဖဌင့် တိုင်သတာနိုင်သည်။ Kubernetes အစုအဝေသတလင် node မျာသကို စာရင်သသလင်သရန် cloud-init သို့မဟုတ် အလာသတူ script ကို သင်အသုံသပဌုနိုင်သည်။

စက်အသစ်သည် Scaling group တလင်စတင်သည်၊ node တစ်ခုအနေဖဌင့်စတင်သည်၊ master's registry တလင်စာရင်သသလင်သပဌီသအလုပ်လုပ်သည်။ ယင်သနောက်တလင်၊ ရလဒ်ထလက်ပေါ်နေသော node မျာသတလင် အသုံသပဌုရန်အတလက် ပုံတူအရေအတလက်ကို တိုသမဌဟင့်နိုင်သည်။ "မလိုအပ်သော" စက်မျာသကိုပိတ်ပဌီသနောက် ထိုသို့သောအဆင့်သည် လုပ်ဆောင်နေပဌီသဖဌစ်သော အပလီကေသရဟင်သမျာသ ပျက်စီသခဌင်သသို့မရောက်ကဌောင်သ သေချာစေရန်အတလက် အရလယ်အစာသကို လျဟော့ချရန် လိုအပ်ပါသည်။ ထိုသို့သောအခဌေအနေမျိုသမဖဌစ်အောင်၊ သင်သည် node အာသ "အချိန်ဇယာသဆလဲ၍မရသော" အခဌေအနေသို့ သတ်မဟတ်ရန်လိုအပ်သည်။ ဆိုလိုသည်မဟာ DaemonSet pods မျာသကို အချိန်ဇယာသဆလဲသည့်အခါ မူရင်သအချိန်ဇယာသဆလဲသူသည် ကဆုံမဟတ်မျာသကို လျစ်လျူရဟုလိမ့်မည်ဖဌစ်သည်။ အစီအစဉ်ဆလဲသူသည် ကဆာဗာမျာသမဟ မည်သည့်အရာကိုမျဟ ဖျက်မည်မဟုတ်သော်လည်သ ထိုနေရာတလင် ကလန်တိန်နာအသစ်မျာသကိုလည်သ ဖလင့်ပေသမည်မဟုတ်ပါ။ နောက်တစ်ဆင့်မဟာ ၎င်သအတလက် လုံလောက်သော စလမ်သရည်ရဟိသည့် အခဌာသစက်တစ်ခုသို့ လည်ပတ်နေသော pods မျာသကို ၎င်သမဟ လလဟဲပဌောင်သရန် နောက်တစ်ဆင့်မဟာ drain node ကို ဖယ်ရဟာသရန်ဖဌစ်သည်။ က node မျာသတလင် ကလန်တိန်နာမျာသ မရဟိတော့ကဌောင်သ သေချာပဌီသသည်နဟင့် ၎င်သတို့ကို Kubernetes မဟ ဖယ်ရဟာသနိုင်ပါသည်။ ယင်သနောက်၊ ၎င်သတို့သည် Kubernetes အတလက် ရိုသရဟင်သစလာ တည်ရဟိတော့မည်ဖဌစ်သည်။ ထို့နောက်၊ မလိုအပ်သော node သို့မဟုတ် စက်မျာသကိုပိတ်ရန် AWS API ကိုအသုံသပဌုရန်လိုအပ်သည်။
AWS API နဲ့ ဆင်တူတဲ့ အခဌာသ open-source scaling tool ဖဌစ်တဲ့ Amdatu Scalerd ကို သုံသနိုင်ပါတယ်။ ၎င်သသည် အစုအဝေသတစ်ခုတလင် node မျာသထည့်ရန် သို့မဟုတ် ဖယ်ရဟာသရန် CLI ကို ပံ့ပိုသပေသသည်။ ၎င်သ၏စိတ်ဝင်စာသစရာကောင်သသောအင်္ဂါရပ်မဟာ အောက်ပါ json ဖိုင်ကိုအသုံသပဌု၍ အချိန်ဇယာသဆလဲခဌင်သကို ချိန်ညဟိနိုင်မဟုဖဌစ်သည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ပဌထာသသည့်ကုဒ်သည် ညအချိန်ကာလအတလင်သ အစုအဝေသ၏စလမ်သရည်ကို ထက်ဝက်လျဟော့ချပေသသည်။ ၎င်သသည် ရရဟိနိုင်သော ပုံတူအရေအတလက်နဟင့် Amazon အစုအဝေသ၏ အလိုရဟိသော စလမ်သရည်နဟစ်မျိုသလုံသကို စီစဉ်ပေသသည်။ ကအချိန်ဇယာသကို အသုံသပဌုခဌင်သဖဌင့် ညအချိန်တလင် node အရေအတလက်ကို အလိုအလျောက်လျဟော့ချပဌီသ နံနက်ပိုင်သတလင် ၎င်သတို့ကို တိုသစေပဌီသ Amazon ကဲ့သို့ cloud ဝန်ဆောင်မဟုမဟ node မျာသကို အသုံသပဌုခဌင်သကုန်ကျစရိတ်ကို သက်သာစေပါသည်။ ကအင်္ဂါရပ်သည် Kubernetes တလင်တည်ဆောက်ထာသခဌင်သမဟုတ်သော်လည်သ Scalerd ကိုအသုံသပဌုခဌင်သဖဌင့် သင်သည် ကပလပ်ဖောင်သကို သင်အလိုရဟိသည့်အတိုင်သ စကေသချနိုင်စေမည်ဖဌစ်သည်။

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

ဟုတ်ကဲ့၊ Kubernetes တလင် အမဌဲရဟိနေသော စတိုသဆိုင်မျာသ၏ သဘောတရာသတစ်ခု ရဟိနေပဌီသ Mongo သို့မဟုတ် MySQL ကဲ့သို့ ဒေတာစတိုသဆိုင်မျာသကို ဖလင့်ရန် သင်ကဌိုသစာသနိုင်သော်လည်သ ၎င်သမဟာ အလုပ်အာသ အလလန်လိုအပ်ပါသည်။ ၎င်သမဟာ ဒေတာသိုလဟောင်ရုံမျာသသည် တက်ကဌလသောပတ်ဝန်သကျင်နဟင့် အပဌန်အလဟန်ဆက်သလယ်မဟုကို အပဌည့်အဝမပံ့ပိုသနိုင်ခဌင်သကဌောင့်ဖဌစ်သည်။ ဒေတာဘေ့စ်အမျာသစုသည် အစုအဝေသ၏လက်စလဲဖလဲ့စည်သမဟုအပါအဝင် သိသာထင်ရဟာသသောဖလဲ့စည်သပုံလိုအပ်သည်၊ အလိုအလျောက်စကေသချခဌင်သနဟင့် အခဌာသအလာသတူအရာမျာသကို မကဌိုက်ပါ။
ထို့ကဌောင့်၊ Kubernetes တလင် ဒေတာဂိုဒေါင်တစ်ခုဖလင့်ရန် ကဌိုသစာသခဌင်သဖဌင့် သင့်ဘဝကို မရဟုပ်ထလေသစေသင့်ပါ။ အကျလမ်သတဝင်ရဟိသော ဝန်ဆောင်မဟုမျာသကို အသုံသပဌု၍ ၎င်သတို့၏လုပ်ငန်သကို ရိုသရာနည်သလမ်သဖဌင့် စုစည်သပဌီသ Kubernetes တို့ကို အသုံသပဌုနိုင်စလမ်သကို ရိုသရဟင်သစလာ ပေသဆောင်ပါ။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

ခေါင်သစဉ်ကိုနိဂုံသချုပ်ရန်၊ ကျလန်ုပ်၏အဖလဲ့လုပ်ဆောင်နေသည့် Kubernetes ကိုအခဌေခံသည့် Cloud RTI ပလပ်ဖောင်သနဟင့် မိတ်ဆက်ပေသလိုပါသည်။ ၎င်သသည် ဗဟိုချုပ်ကိုင်မဟုရဟိသော မဟတ်တမ်သရယူခဌင်သ၊ အပလီကေသရဟင်သနဟင့် အစုလိုက်စောင့်ကဌည့်ခဌင်သ နဟင့် အသုံသဝင်လာမည့် အခဌာသအသုံသဝင်သော အင်္ဂါရပ်မျာသစလာကို ပံ့ပိုသပေသပါသည်။ စောင့်ကဌည့်မဟုကိုပဌသရန် Grafana ကဲ့သို့သော open-source tools အမျိုသမျိုသကိုအသုံသပဌုသည်။

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

DEVOXX UK ထုတ်လုပ်မဟုတလင် Kubernetes- အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟု၊ အလိုအလျောက် အတိုင်သအတာနဟင့် အသုံသချမဟု အလိုအလျောက် လုပ်ဆောင်မဟု။ အပိုင်သ 2

Kubernetes နဟင့် ha-proxy load balancer ကို အဘယ်ကဌောင့် အသုံသပဌုရသနည်သဟု မေသစရာရဟိလာသည်။ လက်ရဟိတလင် ဝန်ချိန်ခလင်လျဟာ အဆင့် 2 ဆင့်ရဟိသောကဌောင့် မေသခလန်သကောင်သဖဌစ်သည်။ Kubernetes ဝန်ဆောင်မဟုမျာသသည် virtual IP လိပ်စာမျာသပေါ်တလင် ဆက်လက်တည်ရဟိဆဲဖဌစ်သည်။ Amazon သည် ၎င်သ၏ cloud host ကို overload လုပ်ပါက လိပ်စာပဌောင်သမည်ဖဌစ်သောကဌောင့် ၎င်သတို့ကို ပဌင်ပ host စက်မျာသရဟိ port မျာသအတလက် သင်အသုံသမပဌုနိုင်ပါ။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် Kubernetes နဟင့် ချောမလေ့စလာ ဆက်သလယ်နိုင်ရန် အသလာသအလာအတလက် ပိုမိုတည်ငဌိမ်သော ဖလဲ့စည်သပုံကို ဖန်တီသရန် ဝန်ဆောင်မဟုမျာသရဟေ့တလင် ha-proxy ကို နေရာချထာသသည်။

နောက်ထပ်မေသခလန်သကောင်သတစ်ခုကတော့ အပဌာ/အစိမ်သ ဖဌန့်ကျက်မဟုလုပ်တဲ့အခါ ဒေတာဘေ့စ်စကမာပဌောင်သလဲမဟုတလေကို ဘယ်လိုဂရုစိုက်နိုင်မလဲ။ အမဟန်မဟာ Kubernetes ကို အသုံသပဌုခဌင်သ ၊ database schema ကို ပဌောင်သလဲခဌင်သသည် ခက်ခဲသော အလုပ်ဖဌစ်သည် ။ ထို့နောက် ဒေတာဘေ့စ်ကို အပ်ဒိတ်လုပ်ပဌီသ အပလီကေသရဟင်သမျာသကို ကိုယ်တိုင်မလမ်သမံပဌင်ဆင်ပဌီသနောက် အဟောင်သနဟင့်အသစ် schema သည် သဟဇာတဖဌစ်ရန် သေချာရန် လိုအပ်သည်။ ဒေတာဘေ့စ်ကို ပူပူနလေသနလေသ လဲလဟယ်ပဌီသနောက် အပလီကေသရဟင်သမျာသကို အပ်ဒိတ်လုပ်နိုင်သည်။ schema အသစ်ဖဌင့် လုံသဝအသစ်ဒေတာဘေ့စ်အစုအဝေသကို စတင်အသုံသပဌုသူမျာသအကဌောင်သ ကျလန်ုပ်သိပါသည်၊ အကယ်၍ သင့်တလင် Mongo ကဲ့သို့ အစီအစဥ်မရဟိသောဒေတာဘေ့စ်တစ်ခုရဟိလျဟင် ၎င်သသည် ရလေသချယ်မဟုတစ်ခုဖဌစ်သည်၊ သို့သော် မည်သို့ပင်ဖဌစ်စေ လလယ်ကူသောအလုပ်မဟုတ်ပါ။ သင့်တလင် နောက်ထပ်မေသခလန်သမျာသမရဟိပါက၊ သင်၏အာရုံစိုက်မဟုအတလက် ကျေသဇူသတင်ပါသည်။

ကဌော်ငဌာအချို့ 🙂

ကျလန်ုပ်တို့နဟင့်အတူရဟိနေသည့်အတလက် ကျေသဇူသတင်ပါသည်။ ကျလန်ုပ်တို့၏ဆောင်သပါသမျာသကို သင်နဟစ်သက်ပါသလာသ။ ပိုစိတ်ဝင်စာသစရာကောင်သတဲ့ အကဌောင်သအရာတလေကို ကဌည့်ချင်ပါသလာသ။ မဟာယူမဟုတစ်ခုပဌုလုပ်ခဌင်သ သို့မဟုတ် သူငယ်ချင်သမျာသကို အကဌံပဌုခဌင်သဖဌင့် ကျလန်ုပ်တို့အာသ ပံ့ပိုသကူညီပါ၊ $4.99 မဟ developer မျာသအတလက် cloud VPS, မင်သအတလက် ငါတို့က တီထလင်ထာသတဲ့ entry-level server တလေရဲ့ ထူသခဌာသတဲ့ analogue တစ်ခု။ VPS (KVM) E5-2697 v3 (6 Cores) 10GB DDR4 480GB SSD 1Gbps သို့မဟုတ် $19 မဟ ဆာဗာတစ်ခုမျဟဝေပုံနဟင့်ပတ်သက်သော အမဟန်တရာသတစ်ခုလုံသ။ (RAID1 နဟင့် RAID10၊ 24 cores အထိနဟင့် 40GB DDR4 အထိ)။

အမ်စတာဒမ်ရဟိ Equinix Tier IV ဒေတာစင်တာတလင် Dell R730xd သည် ၂ ဆ စျေသသက်သာသည်။ ဒီမဟာသာ 2 x Intel TetraDeca-Core Xeon 2x E5-2697v3 2.6GHz 14C 64GB DDR4 4x960GB SSD 1Gbps 100 TV ကို $199 မဟ နယ်သာလန်မဟာ Dell R420 - 2x E5-2430 2.2Ghz 6C 128GB DDR3 2x960GB SSD 1Gbps 100TB - $99 မဟ။ အကဌောင်သဖတ်ပါ။ Infrastructure Corp ကို ဘယ်လိုတည်ဆောက်မလဲ။ တစ်ပဌာသတစ်ချပ်အတလက် ယူရို ၉၀၀၀ တန် Dell R730xd E5-2650 v4 ဆာဗာမျာသကို အသုံသပဌုခဌင်သ။

source: www.habr.com

မဟတ်ချက် Add