Kubernetes အစုအဝေသအရင်သအမဌစ်မျာသကို စောင့်ကဌည့်ခဌင်သ။

Kubernetes အစုအဝေသအရင်သအမဌစ်မျာသကို စောင့်ကဌည့်ခဌင်သ။

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

အကျိုသအကဌောင်သပဌောပဌမယ်။ Kube Eagleဒါပေမယ့် ညသစလာဘာကဌောင့် စိတ်ရဟုပ်ရသလဲ နဟင့် အရည်အသလေသမဌင့် စောင့်ကဌည့်ခဌင်သ ကို ဘာကဌောင့် လိုအပ်ကဌောင်သ ရဟင်သပဌပါမယ်။

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

အစုအဝေသသည် CPU (8%) နဟင့် RAM (40%) အနည်သငယ်သာစာသသုံသသော်လည်သ၊ node တလင်ရရဟိနိုင်သည်ထက် Memory ကိုပိုမိုခလဲဝေချထာသရန်ကဌိုသစာသသောအခါတလင် pods မျာသကိုကဌိုတင်ကဌိုတင်ပဌင်ဆင်ခဌင်သဆိုင်ရာပဌဿနာမျာသအမဌဲကဌုံတလေ့နေရသည်။ ထိုအချိန်က ကျလန်ုပ်တို့တလင် Kubernetes အရင်သအမဌစ်မျာသကို စောင့်ကဌည့်ရန် ဒက်ရဟ်ဘုတ်တစ်ခုသာ ရဟိခဲ့သည်။ ဒီလိုမျိုသ:

Kubernetes အစုအဝေသအရင်သအမဌစ်မျာသကို စောင့်ကဌည့်ခဌင်သ။
cAdvisor တိုင်သထလာချက်မျာသသာရဟိသော Grafana ဒက်ရဟ်ဘုတ်

ထိုသို့သော panel ဖဌင့်၊ memory နဟင့် CPU အမျာသအပဌာသစာသသော node မျာသကိုတလေ့ရန်ပဌဿနာမဟုတ်ပါ။ ပဌဿနာက ဘာအကဌောင်သကဌောင့်လဲဆိုတာ အဖဌေရဟာဖို့ပါပဲ။ pods မျာသကို နေရာတကျထာသရဟိရန်၊ တစ်ညသသည် pods အာသလုံသတလင် အာမခံထာသသောအရင်သအမဌစ်မျာသကို သတ်မဟတ်နိုင်သည် (တောင်သဆိုထာသသောအရင်သအမဌစ်မျာသ ကန့်သတ်ချက်နဟင့်ညီသည်)။ ဒါပေမယ့် ဒါဟာ ဟာ့ဒ်ဝဲရဲ့ ဉာဏ်အကောင်သဆုံသ အသုံသပဌုမဟုတော့ မဟုတ်ပါဘူသ။ အစုအဝေသတလင် ရာပေါင်သမျာသစလာသော မမ်မိုရီဂစ်ဂါဘိုက်မျာသစလာ ရဟိပဌီသ အချို့သော နုတ်မျာသ ငတ်နေချိန်တလင် အချို့မဟာ အရန်သိုလဟောင်မဟုတလင် 4-10 GB ကျန်ရဟိသည်။

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

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

ကျလန်ုပ်တလင်သာ စောင့်ကဌည့်သော Kubernetes အစုအဝေသအာသလုံသနီသပါသရဟိသည်။ Node တင်ပို့သူ О Kube ပဌည်နယ် မက်ထရစ်မျာသ. Node Exporter သည် I/O နဟင့် disk၊ CPU နဟင့် RAM အသုံသပဌုမဟုဆိုင်ရာ စာရင်သဇယာသမျာသကို ပေသဆောင်ပဌီသ Kube State Metrics သည် တောင်သဆိုမဟုမျာသနဟင့် CPU နဟင့် memory resource ကန့်သတ်ချက်မျာသကဲ့သို့သော Kubernetes အရာဝတ္ထုမက်ထရစ်မျာသကို ပဌသထာသသည်။

ကျလန်ုပ်တို့သည် အသုံသပဌုမဟုမက်ထရစ်မျာသကို Grafana ရဟိ တောင်သဆိုချက်မျာသနဟင့် ကန့်သတ်မက်ထရစ်မျာသနဟင့် ပေါင်သစပ်ရန် လိုအပ်ပဌီသ ပဌဿနာနဟင့်ပတ်သက်သည့် အချက်အလက်အာသလုံသကို ကျလန်ုပ်တို့ ရရဟိမည်ဖဌစ်သည်။ ၎င်သသည် ရိုသရဟင်သသည်ဟု ထင်ရသော်လည်သ ကိရိယာနဟစ်ခုသည် အမဟန်တကယ်တလင် အညလဟန်သမျာသကို ကလဲပဌာသစလာ အမည်ပေသကဌပဌီသ အချို့သော မက်တာဒေတာ အညလဟန်သမျာသ လုံသဝမရဟိပါ။ Kube Eagle သည် အရာအာသလုံသကို ကိုယ်တိုင်လုပ်ဆောင်ပဌီသ အကန့်သည် ကကဲ့သို့ ဖဌစ်သည်-

Kubernetes အစုအဝေသအရင်သအမဌစ်မျာသကို စောင့်ကဌည့်ခဌင်သ။

Kubernetes အစုအဝေသအရင်သအမဌစ်မျာသကို စောင့်ကဌည့်ခဌင်သ။
Kube Eagle ဒက်ရဟ်ဘုတ်

ကျလန်ုပ်တို့သည် အရင်သအမဌစ်မျာသဖဌင့် ပဌဿနာမျာသစလာကို ဖဌေရဟင်သနိုင်ခဲ့ပဌီသ စက်ပစ္စည်သမျာသကို ချလေတာနိုင်သည်-

  1. အချို့သော developer မျာသသည် microservices အရင်သအမဌစ်မျာသမည်မျဟလိုအပ်သည်ကို မသိခဲ့ပါ (သို့မဟုတ် ရိုသရဟင်သစလာအနဟောက်အယဟက်မရဟိ)။ အရင်သအမဌစ်မျာသအတလက် မဟာသယလင်သသော တောင်သဆိုမဟုမျာသကို ရဟာဖလေရန် ကျလန်ုပ်တို့အတလက် နည်သလမ်သမရဟိပါ - ၎င်သအတလက် စာသသုံသမဟုအပဌင် တောင်သဆိုမဟုမျာသနဟင့် ကန့်သတ်ချက်မျာသကို သိရဟိရန် လိုအပ်ပါသည်။ ယခု ၎င်သတို့သည် Prometheus မက်ထရစ်မျာသကိုမဌင်ရပဌီသ အမဟန်တကယ်အသုံသပဌုမဟုကို စောင့်ကဌည့်ကာ တောင်သဆိုချက်မျာသနဟင့် ကန့်သတ်ချက်မျာသကို ချိန်ညဟိပါ။
  2. JVM အပလီကေသရဟင်သမျာသသည် ၎င်သတို့ကိုင်တလယ်နိုင်သလောက် RAM ကို ယူသည်။ အမဟိုက်စုဆောင်သသူသည် 75% ကျော်အသုံသပဌုသောအခါတလင်သာ မဟတ်ဉာဏ်ကို ထုတ်လလဟတ်သည်။ ဝန်ဆောင်မဟုအမျာသစုတလင် ပေါက်ကလဲနိုင်သောမဟတ်ဉာဏ်ရဟိသောကဌောင့်၊ ၎င်သကို JVM မဟ အမဌဲတမ်သသိမ်သပိုက်ထာသသည်။ ထို့ကဌောင့်၊ က Java ဝန်ဆောင်မဟုအာသလုံသသည် မျဟော်လင့်ထာသသည်ထက် RAM မျာသစလာပိုစာသနေပါသည်။
  3. အချို့သော အပလီကေသရဟင်သမျာသက မန်မိုရီကို အလလန်အကျလံ တောင်သဆိုကဌပဌီသ Kubernetes အစီအစဉ်ဆလဲသူသည် က node မျာသကို အခဌာသအပလီကေသရဟင်သမျာသသို့ မပေသဘဲ၊ အမဟန်မဟာ ၎င်သတို့သည် အခဌာသ node မျာသထက် ပိုလလတ်လပ်သော်လည်သ၊ ဆော့ဖ်ဝဲအင်ဂျင်နီယာတစ်ညသသည် တောင်သဆိုချက်တလင် ဂဏန်သအပိုတစ်ခုကို မတော်တဆထည့်လိုက်ပဌီသ RAM အပိုင်သ- 20 အစာသ 2 GB ကို ဖမ်သယူလိုက်ပါသည်။ မည်သူမျဟ သတိမထာသမိပါ။ အပလီကေသရဟင်သတလင် ပုံတူ 3 ခုပါရဟိသောကဌောင့် node 3 ခုအထိထိခိုက်ခဲ့သည်။
  4. ကျလန်ုပ်တို့သည် အရင်သအမဌစ်ကန့်သတ်ချက်မျာသ၊ မဟန်ကန်သောတောင်သဆိုမဟုမျာသဖဌင့် အချိန်ဇယာသဆလဲထာသသော pod မျာသကို မိတ်ဆက်ပေသခဲ့ပဌီသ node အာသလုံသတလင် ဟာ့ဒ်ဝဲအသုံသပဌုမဟု၏ စံပဌလက်ကျန်တစ်ခုကို ရရဟိခဲ့ပါသည်။ node နဟစ်ခုလုံသကို လုံသလုံသပိတ်ထာသနိုင်သည်။ ပဌီသတော့ ကျလန်တော်တို့မဟာ စက်တလေ မဟာသနေတယ် (CPU ကို ညသတည်တယ်၊ Memory oriented မဟုတ်ဘူသ)။ ကျလန်ုပ်တို့သည် အမျိုသအစာသကိုပဌောင်သပဌီသ နောက်ထပ် node အမျာသအပဌာသကို ဖျက်လိုက်ပါသည်။

ရလဒ်မျာသကို

အစုအဝေသတလင် ပေါက်ကလဲနိုင်သော အရင်သအမဌစ်မျာသဖဌင့် သင်သည် ရရဟိနိုင်သော ဟာ့ဒ်ဝဲကို ပိုမိုထိရောက်စလာ အသုံသပဌုသော်လည်သ Kubernetes အချိန်ဇယာသဆလဲသူသည် အရင်သအမဌစ်မျာသအတလက် တောင်သဆိုမဟုမျာသအပေါ် အခဌေခံ၍ pods မျာသကို အချိန်ဇယာသဆလဲပေသကာ ၎င်သသည် ရဟုပ်ထလေသသည်။ ငဟက်နဟစ်ကောင်ကို ကျောက်တစ်လုံသတည်သဖဌင့်သတ်ရန်- ပဌဿနာမျာသကို ရဟောင်ရဟာသရန်နဟင့် အရင်သအမဌစ်မျာသကို အပဌည့်အဝအသုံသချရန်၊ ကောင်သစလာစောင့်ကဌည့်ရန် လိုအပ်သည်။ အဲဒါကဌောင့် အသုံသဝင်ပါလိမ့်မယ်။ Kube Eagle (Prometheus တင်ပို့သူနဟင့် Grafana ဒက်ရဟ်ဘုတ်)။

source: www.habr.com

မဟတ်ချက် Add