Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ပိတ်ခဌင်သ Terminate ကို ပဌင်ပေသပါ။

Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ကလန်တိန်နာငယ်မျာသ ဖန်တီသခဌင်သ။
Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ Namespace ဖဌင့် Kubernetes ၏အဖလဲ့အစည်သ
Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ အဆင်သင့် နဟင့် အသက်ရဟင်မဟု စမ်သသပ်မဟုမျာသဖဌင့် Kubernetes Liveness ကို အတည်ပဌုခဌင်သ
Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ အရင်သအမဌစ်တောင်သဆိုမဟုမျာသနဟင့် ကန့်သတ်ချက်မျာသကို သတ်မဟတ်ခဌင်သ။

Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ပိတ်ခဌင်သ Terminate ကို ပဌင်ပေသပါ။

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

ကလန်တိန်နာမျာသ မတိုင်မီ၊ အပလီကေသရဟင်သ အမျာသစုသည် ပကတိ သို့မဟုတ် ရုပ်ပိုင်သဆိုင်ရာ စက်မျာသတလင် လုပ်ဆောင်သည်။ အပလီကေသရဟင်သ ပျက်သလာသပါက သို့မဟုတ် ရပ်သလာသပါက၊ လုပ်ဆောင်နေသည့် လုပ်ဆောင်စရာကို ပယ်ဖျက်ပဌီသ ပရိုဂရမ်ကို ပဌန်လည်စတင်ရန် အချိန်အတော်ကဌာပါသည်။ အဆိုသဆုံသအခဌေအနေတလင်၊ တစ်စုံတစ်ညသသည် အခန့်မသင့်ဆုံသအချိန်မျာသတလင် ညဘက်တလင် ကပဌဿနာကို ကိုယ်တိုင်ဖဌေရဟင်သခဲ့ရသည်။ အလုပ်စက် ၁-၂ လုံသသာ အရေသကဌီသသော အလုပ်တစ်ခုကို လုပ်ဆောင်ပါက၊ ထိုသို့သော အနဟောင့်အယဟက်ကို လုံသဝ လက်မခံနိုင်ပါ။
ထို့ကဌောင့်၊ manual reboots အစာသ ပုံမဟန်မဟုတ်သော ရပ်စဲမဟုတစ်ခုတလင် အပလီကေသရဟင်သအာသ အလိုအလျောက်ပဌန်လည်စတင်ရန်အတလက် လုပ်ငန်သစဉ်အဆင့်စောင့်ကဌည့်ခဌင်သကို စတင်အသုံသပဌုခဲ့ကဌသည်။ ပရိုဂရမ်မအောင်မဌင်ပါက၊ စောင့်ကဌည့်ရေသလုပ်ငန်သစဉ်သည် ထလက်ပေါက်ကုဒ်ကိုဖမ်သယူပဌီသ ဆာဗာကို ပဌန်လည်စတင်သည်။ Kubernetes ကဲ့သို့သော စနစ်မျာသ ထလန်သကာသလာသဖဌင့်၊ စနစ်ကျရဟုံသမဟုကို တုံ့ပဌန်မဟု အမျိုသအစာသသည် အခဌေခံအဆောက်အအုံတလင် ရိုသရိုသရဟင်သရဟင်သ ပေါင်သစပ်ထာသသည်။

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

Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ပိတ်ခဌင်သ Terminate ကို ပဌင်ပေသပါ။

ဆိုလိုသည်မဟာ သင်သည် လုပ်ငန်သစဉ်စောင့်ကဌည့်ခဌင်သကို ကိုယ်တိုင်လုပ်ဆောင်ရန် မလိုအပ်တော့ပါ။ အရင်သအမဌစ်တစ်ခုသည် ကျန်သမာရေသစစ်ဆေသမဟုကို မအောင်မဌင်ပါက၊ Kubernetes သည် ၎င်သကို အစာသထိုသမဟုတစ်ခုဖဌင့် အလိုအလျောက် ဆောင်ရလက်ပေသမည်ဖဌစ်သည်။ သို့သော်၊ Kubernetes သည် သင့်အပလီကေသရဟင်သကို မအောင်မဌင်မဟုမျာသကို စောင့်ကဌည့်ရုံထက် မျာသစလာပိုလုပ်ဆောင်ပါသည်။ စက်မျာသစလာတလင်လည်ပတ်ရန်၊ အပလီကေသရဟင်သကို အပ်ဒိတ်လုပ်ရန် သို့မဟုတ် သင့်အက်ပ်လီကေသရဟင်သ၏ဗာသရဟင်သမျာသစလာကို တစ်ပဌိုင်နက်လည်ပတ်ရန် အက်ပ်လီကေသရဟင်သ၏ နောက်ထပ်မိတ္တူမျာသကို ဖန်တီသနိုင်သည်။
ထို့ကဌောင့်၊ Kubernetes သည် ပဌီသပဌည့်စုံသော ကျန်သမာရေသနဟင့်ညီညလတ်သော ကလန်တိန်နာကို ရပ်တန့်နိုင်သည့် အကဌောင်သရင်သမျာသစလာရဟိပါသည်။ ဥပမာအာသဖဌင့်၊ သင်၏အသုံသပဌုမဟုကို အဆင့်မဌဟင့်ပါက၊ Kubernetes သည် အသစ်မျာသကို စတင်စဉ်တလင် pod အဟောင်သမျာသကို ဖဌည်သညဟင်သစလာ ရပ်သလာသပါမည်။ အကယ်၍ သင်သည် node တစ်ခုကို ပိတ်ပါက၊ Kubernetes သည် ထို node ပေါ်ရဟိ pods အာသလုံသကို လုပ်ဆောင်ခဌင်သ ရပ်သလာသပါမည်။ နောက်ဆုံသတလင်၊ node တစ်ခုသည် အရင်သအမဌစ်မျာသ ကုန်သလာသပါက၊ ထိုအရင်သအမဌစ်မျာသကို ဖယ်ရဟာသရန်အတလက် Kubernetes သည် pods အာသလုံသကို ပိတ်ပစ်မည်ဖဌစ်သည်။

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

လက်တလေ့တလင်၊ ဆိုလိုသည်မဟာ သင်၏ application သည် Unix လည်ပတ်မဟုစနစ်မျာသရဟိ kill utility အတလက် ပုံသေအချက်ဖဌစ်သည့် လုပ်ငန်သစဉ်ရပ်စဲခဌင်သအချက်ပဌသည့် SIGTERM မက်ဆေ့ဂျ်ကို ကိုင်တလယ်နိုင်ရမည်ဟု ဆိုလိုသည်။ ကမက်ဆေ့ချ်ကို လက်ခံရရဟိသောအခါ၊ အပလီကေသရဟင်သကို ပိတ်သင့်သည်။

Kubernetes သည် pod တစ်ခုအာသ ရပ်ဆိုင်သရန် ဆုံသဖဌတ်လိုက်သည်နဟင့်၊ ဖဌစ်ရပ်မျာသစလာ ဖဌစ်ပေါ်လာပါသည်။ ကလန်တိန်နာ သို့မဟုတ် ပေါ့ဒ်ကို ပိတ်သည့်အခါ Kubernetes လုပ်ဆောင်သည့် အဆင့်တိုင်သကို ကဌည့်ကဌပါစို့။

ကျလန်ုပ်တို့သည် အကလက်မျာသထဲမဟ တစ်ခုကို ရပ်စဲလိုသည်ဟု ဆိုကဌပါစို့။ ကအချိန်တလင်၊ ယာဉ်အသလာသအလာအသစ်မျာသ လက်ခံရရဟိခဌင်သကို ရပ်သလာသလိမ့်မည် - pod တလင် လည်ပတ်နေသော ကလန်တိန်နာမျာသကို ထိခိုက်မည်မဟုတ်သော်လည်သ လမ်သကဌောင်သအသစ်အာသလုံသကို ပိတ်ဆို့သလာသပါမည်။

Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ပိတ်ခဌင်သ Terminate ကို ပဌင်ပေသပါ။

pod တစ်ခုရဟိ container မျာသထံပေသပို့သည့် အထူသ command သို့မဟုတ် HTTP တောင်သဆိုချက်ဖဌစ်သည့် preStop ချိတ်ကို ကဌည့်ကဌပါစို့။ SIGTERM ကိုလက်ခံရရဟိသောအခါ သင့်အပလီကေသရဟင်သကို မဟန်ကန်စလာပိတ်မထာသပါက၊ သင်သည် မဟန်ကန်စလာပိတ်ရန် preStop ကိုသုံသနိုင်သည်။

Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ပိတ်ခဌင်သ Terminate ကို ပဌင်ပေသပါ။

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

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

အကယ်၍ သင်သည် preStop ချိတ်ကို အသုံသပဌုသော်လည်သ၊ သင် SIGTERM အချက်ပဌမဟုတစ်ခု ပေသပို့သောအခါတလင် သင့်အပလီကေသရဟင်သတလင် မည်သည့်အရာဖဌစ်ပျက်သည်ကို အတိအကျစစ်ဆေသရန်၊ ၎င်သသည် မည်သို့ပဌုမူနေသနည်သ၊ သို့မဟသာ pod shutdown ကဌောင့်ဖဌစ်ရသည့် စနစ်လည်ပတ်မဟုတလင် ဖဌစ်ရပ်မျာသ သို့မဟုတ် အပဌောင်သအလဲမျာသ မလာစေရန် အလလန်အရေသကဌီသပါသည်။ သင့်အတလက် အံ့သဌစရာတစ်ခု။

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

Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ပိတ်ခဌင်သ Terminate ကို ပဌင်ပေသပါ။

ပုံမဟန်အာသဖဌင့် ကကာလသည် စက္ကန့် 30 ဖဌစ်သည်။ ၎င်သသည် preStop ချိတ်နဟင့် SIGTERM အချက်ပဌမဟုမျာသနဟင့်အပဌိုင် လုပ်ဆောင်နေကဌောင်သ သတိပဌုရန် အရေသကဌီသသည်။ Kubernetes သည် ကဌိုတင်ရပ်တန့်ချိတ်နဟင့် SIGTERM အဆုံသသတ်ရန် စောင့်မည်မဟုတ်ပါ— အကယ်၍ သင့်လျဟောက်လလဟာသည် TerminationGracePeriod မကုန်ဆုံသမီတလင် ထလက်ပါက၊ Kubernetes သည် နောက်တစ်ဆင့်သို့ ချက်ချင်သသလာသပါမည်။ ထို့ကဌောင့်၊ ကကာလ၏စက္ကန့်တန်ဖိုသသည် ပေါ့ဒ်ကိုမဟန်ကန်စလာပိတ်ရန် လိုအပ်သည့်အချိန်ထက် မနည်သကဌောင်သ စစ်ဆေသပါ၊ ၎င်သသည် 30s ကျော်လလန်ပါက၊ ကာလကို YAML တလင် လိုချင်သောတန်ဖိုသသို့ တိုသမဌဟင့်ပါ။ ဥပမာပေသထာသသော 60s ဖဌစ်သည်။

နောက်ဆုံသအဆင့်မဟာ၊ GracePeriod ရပ်ဆိုင်သပဌီသနောက် ကလန်တိန်နာမျာသ ဆက်လက်လည်ပတ်နေပါက၊ ၎င်သတို့သည် SIGKILL အချက်ပဌမဟုကို ပေသပို့မည်ဖဌစ်ပဌီသ အတင်သအကျပ် ဖျက်ပစ်မည်ဖဌစ်သည်။ ကအချိန်တလင် Kubernetes သည် အခဌာသသော pod objects အာသလုံသကို ရဟင်သပစ်ပါမည်။

Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ပိတ်ခဌင်သ Terminate ကို ပဌင်ပေသပါ။

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

Kubernetes အကောင်သဆုံသ အလေ့အကျင့်မျာသ။ ပဌင်ပဝန်ဆောင်မဟုမျာသကို ပုံဖော်ခဌင်သ။

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

ကျလန်ုပ်တို့နဟင့်အတူရဟိနေသည့်အတလက် ကျေသဇူသတင်ပါသည်။ ကျလန်ုပ်တို့၏ဆောင်သပါသမျာသကို သင်နဟစ်သက်ပါသလာသ။ ပိုစိတ်ဝင်စာသစရာကောင်သတဲ့ အကဌောင်သအရာတလေကို ကဌည့်ချင်ပါသလာသ။ မဟာယူမဟုတစ်ခုပဌုလုပ်ခဌင်သ သို့မဟုတ် သူငယ်ချင်သမျာသကို အကဌံပဌုခဌင်သဖဌင့် ကျလန်ုပ်တို့အာသ ပံ့ပိုသကူညီပါ၊ $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