Creating pods
How to create pod in K8S cluster
Last updated
Was this helpful?
How to create pod in K8S cluster
Last updated
Was this helpful?
Pods နဲ့ တခြား kubernetes resources တွေကို json သို့မဟုတ် YAML manifest တွေနဲ့ Kubernetes REST API endpoint သို့ post လုပ်ပြီး ဖန်တီးလို့ရနိုင်ပါတယ်။ နောက်တခြား နည်းလမ်းတစ်ခုကတော့ ရိုးရှင်းတဲ့ kubectl run command နဲ့ create လုပ်လို့ရနိုင်ပါတယ်။ kubectl command က အတော်အများ အသုံးဝင် ပေမယ့် တချို့ properties တွေကိုတော့ လုပ်လို့မရပါဘူး၊ limitation တွေ ရှိပါတယ် သို့သော်များလဲ cluster administrator တစ်ယောက် အနေနဲ့ နေ့စဉ် အမြဲ ထိတွေ့နေရတဲ့ အရေးပါတဲ့ နေရာမှာ ရှိပါတယ်။ pod manifest မှာ ဘာတွေ ပါဝင်နိုင်သလဲ ? Pod ရဲ့ အဓိက manifest ကတော့ အပိုင်း ၄ခု ပါဝင်ပါတယ်။ manifest တိုင်းမှာ ပထမဦးစွာ မပါမဖြစ်ပါဝင်တာကတော့ K8s ရဲ့ API version တွေပါ။ API version ဆိုတာ ကတော့ k8s မှာ pod သို့မဟုတ် တခြားသော resource တွေ ကို ဖန်းတီးတဲ့ အခါ မတူညီတဲ့ versions (stable/ Beta/ Alpha) တွေရဲ့ feature တွေကို ကိုယ်ဘာတွေ သုံးချင်လဲ အပေါ်မှာ မူတည်ပြီ ထည့်လို့ရနိုင်ပါတယ်။ ယေဘုယျ အားဖြင့်တော့ ကျွန်တော်တို့တွေ က stable တွေကို သုံးကြပါတယ်၊ stable ကတော့ vX (eg. v1) ဖြစ်ပြီး X ကတော့ အဲနေရာမှာ 1, 2 အစရှိသဖြင့် integer တွေ ဖြစ်ပါတယ်။ ခုနက ပြောသလိုဘဲ API version တစ်ခုနဲ့ တစ်ခုမှာ လုပ်လို့ရတာတွေ၊ လုပ်လို့မရတာတွေ၊ ပိုကောင်းမွန်တဲ့ feature တွေ၊ stable မှာ မရှိတော့တဲ့ deprecate feature တွေ၊ support လုပ်တဲ့ feature တွေ အစရှိသဖြင့် ကွဲပြားခြားနား ပါတယ်။ အသေးစိတ် ကိုတော့ kubernetes ရဲ့ document မှာ ကြည့်နိုင်ပါတယ်။ တခြား ပါဝင်တာတွေကတော့ -
apiVersion - ကိုယ်အသုံးပြုမဲ့ resource ရဲ့ API version (နောက်ပိုင်းတွင် အသေးစိပ် ရှင်းပြမည်) အလွတ်သိရမလို၊ doc တွင် (သို့) kubectl explain pod ဖြင့် သိနိုင်သည်။
kind - ကိုယ်တည်ဆောက်မည့် resource အမျိုးအစား၊ ယခု အခါ တွင် pod resource ဖြစ်သည်။
Metadata - မှာတော့ pod ရဲ့ name, namespace, labels , annotations စတဲ့ တခြား information တွေပါဝင်ပါတယ်။
Spec - မှာတော့ တကယ် pod မှာပါဝင်တဲ့ ဖေါ်ပြချက်တွေ ပါဝင်ပါတယ်။ အဲဒါ တွေကတော့ ဘယ် containers တွေ၊ volumes တွေ၊ environment တွေနဲ့ configmap တွေ၊ အစရှိတဲ့ data တွေ ကို ဘယ်လို အသုံးပြုမယ်ဆိုတာတွေ ပါဝင်ပါတယ်။
Status - ဒီထဲမှာတော့ လက်ရှိ pod ရဲ့ container တစ်ခုချင်းစီရဲ့ internal IP၊ running ဖြစ်နေလား မဖြစ်နေလား၊ စတဲ့ basic ကျတဲ့ informationတွေ၊ အခြေအနေတွေကို ဖေါ်ပြပေးတဲ့ information တွေ ပါဝင်ပါတယ်။
ဒါတွေကတော့ pod manifest(definition လို့လည်း ခေါ်တယ်၊ descriptor လို့လည်း ခေါ်တယ်) ရဲ့ အဓိက ပါဝင်တဲ့ အပိုင်း ၄ ပိုင်း ဖြစ်ပါတယ်။ pod ဖန်တီးတဲ့ အခါမှာတော့ နောက်ဆုံးက status ဆိုတဲ့ အပိုင်းကို ထည့်ရေးစရာ မလိုပါဘူး။ status ကတော့ လက်ရှိ cluster ထဲမှာ တည်ဆောက်ထားတဲ့ pod ကို retrieve လုပ်လိုက်တဲ့ အခါမှာ cluster ဘက် အခြမ်းမှ ထုတ်ပြပေးတဲ့ information တွေသာ ဖြစ်ပါတယ်။ တချို့ အခြေနေ တွေမှာ information တွေ သိရဖို့ အသုံးဝင်ပါတယ်။ pod တခုကို ဖန်တီးသည့် အခါ Metadata, Spec တို့ရဲ့ field တွေကို သိရှိနိင်ဖို့ k8s API document တဆင့် သို့မဟုတ် kubectl explain command နဲ့ ဖြစ်နိုင်ခြေရှိတဲ့ API object fields တွေကို လဲ ရှာဖွေလို့ရနိုင်ပါတယ်၊ လွန်စွာ အသုံးဝင်ပါတယ်။