Saturday, October 24, 2020

What I learned about Kubernetes - Metric Server and Application Logs

                 ဒီ article မှာတော့ metric server နဲ့ application logs တွေကို ဘယ်လို manages လုပ်မလဲဆိုတာကို ပြောပြပေးသွားမှာဖြစ်ပါတယ်။

So, What is metric server in kubernetes?

            Metric server ဆိုတာက kubernetes cluster တစ်ခုမှာ ရှိတဲ့ nodes and pods တွေရဲ့ resource consumption ကို monitoring လုပ်ချင်ရင်အသုံးပြုပါတယ်။ Node level metric / Pod level metric မှာ CPU and memory consumption ဘယ်လောက်ရှိနေလဲဆိုတာကို ပြပေးပါတယ်။

            Metric server သည် in-memory solution ဖြစ်သည့်အတွက် resource consumption history တွေကိုတော့ သိမ်းထားပေးမှာမဟုတ်ဘူး သိမ်းထားပေးစေချင်တယ်ဆိုရင်တော့ 3rd party solutions တွေဖြစ်တဲ့

Prometheus, Elastic Stack, DataDog etc.. စသည့် 3rd party solution တွေကို အသုံးပြုရမှာဖြစ်ပါတယ်။

How to deploy metric-server in kubernetes?

        Metric-server ကို mini kube မှာဆိုရင်တော့ $minikube addons enable metrics-server ဆိုပြီး deploy လုပ်နိုင်တယ်။ တစ်ခြား kubernetes environment တွေမှာဆိုရင်တော့ git clone ဖြင့် metric-server ကို down ပြီး $kubectl ဖြင့် deploy လုပ်ပေးရမှာဖြစ်ပါတယ်။

git clone https://github.com/kubernetes-incubator/metrics-server.git
cd metrics-server
kubectl apply -f deploy/kubernetes/


                Deploy လုပ်ပြီးရင်တော့ အောက်ပုံမှာပြထားသည့်အတိုင်း $kubectl -n kube-system get all ဖြင့် ကြည့်လျှင် Kubernetes components တွေထဲမှာ metric-server pod တစ်ခု ရှိနေတာ တွေ့ရမှာဖြစ်ပါတယ်။ 


            Metric-server install လုပ်ပြီးရင်တော့ ခနကြာမှာ kubernetes ရဲ့ host level metric and pod level metric ( CPU and RAM consumption) ကို ကြည့်လို့ရပြီး ဖြစ်ပါတယ်။


Next one, How to check Application logs in kubernetes?

            နောက်တစ်ခု ဖြစ်တဲ့ application logs ကတော့ ဒီ Pod တွေအတွင်းမှာရှိတဲ့ containers တွေရဲ့ logs တွေကို ဘယ်လိုကြည့်မလဲ ဘယ် command ကို အသုံးပြုပြီး ကြည့်မလဲဆိုတာဖြစ်ပါတယ်။Pod တစ်ခု container တစ်ခု ဆိုရင်တော့ logs ကြည့်ရတာ ပုံမှန် Pod name ကိုအသုံးပြုပြီး ကြည့်နိုင်ပြီးတော့  Pod တစ်ခုထဲမှာ တစ်ခုထက် ပိုရှိနေမယ်ဆိုရင်တော့ logs ကြည့်တဲ့ အခါမှာ Pod name အပြင် specific container name ကိုပါ define လုပ်ပြီးကြည့်ရမှာဖြစ်ပါတယ်။ အောက်ပုံမှာဆိုရင် Pod တစ်ခုအတွင်းမှာ "nginx" နဲ့ "redis" container နှစ်ခု ရှိပြီး log ကြည့်တဲ့အခါမှာ container name ကို define လုပ်ပေးရမှာဖြစ်ပါတယ်။ အောက်ပုံမှာ ရှင်းပြထားပါတယ်။






ဒါကတော့ Kubernetes ရဲ့ metric server အကြောင်းနဲ့ application logs ဘယ်လိုကြည့်မလဲ multiple-containers logs တွေကို ဘယ်လို ကြည့်မလဲ ဆိုတာကို ပြောပြပေးသွားတာဖြစ်ပါတယ်။

That's it 😊


Pls Like and Subscribe Our Root Of Info FB Page and Youtube Channel


https://www.facebook.com/rootofinfo


https://www.youtube.com/channel/UCkOi7WxhUBKONv3uD0CvuWw?view_as=subscriber


Thank you!!!




Share:

0 comments:

Post a Comment