တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

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

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

Kubernetes သည် Kubernetes မျဟသာဖဌစ်သည်ဟူသော စာတမ်သဖဌင့် ကျလန်ုပ်တို့ မျာသသောအာသဖဌင့် စတင်ကဌပဌီသ OpenShift သည် Microsoft AKS သို့မဟုတ် Amazon EKS ကဲ့သို့ Kubernetes ပလပ်ဖောင်သတစ်ခု ဖဌစ်နေပါပဌီ။ ကပလပ်ဖောင်သတစ်ခုစီတိုင်သသည် ပစ်မဟတ်ပရိသတ်ကို ရည်ရလယ်သည့် ၎င်သ၏ကိုယ်ပိုင်အာသသာချက်မျာသရဟိသည်။ ထို့နောက်တလင်၊ သီသခဌာသပလပ်ဖောင်သမျာသ၏ အာသသာချက်မျာသနဟင့် အာသနည်သချက်မျာသကို နဟိုင်သယဟဉ်ပဌောဆိုမဟုအဖဌစ် ပဌောင်သလဲသလာသပါသည်။

ယေဘုယျအာသဖဌင့်၊ "နာသဆင်ပါ၊ OpenShift တလင် သို့မဟုတ် AKS တလင်၊ EKS တလင်၊ အချို့သော စိတ်ကဌိုက် Kubernetes တလင် သို့မဟုတ် မည်သည့် Kubernetes တလင်မဆို မည်သည့်နေရာတလင်မဆို ကုဒ်ကို run ရန် ကိစ္စမရဟိပါ။ (အတိုချုပ်ပဌောရရင် KUK လို့ ခေါ်ရအောင်) "အဲဒါက တကယ်ကို ရိုသရဟင်သပါတယ်၊ ဟိုမဟာရော ဟိုမဟာပါ"

ထို့နောက် ကျလန်ုပ်တို့သည် အရိုသရဟင်သဆုံသ “Hello World” ကိုယူရန် စီစဉ်ထာသပဌီသ မည်သည့်အရာသည် သာမန်နဟင့် KUC နဟင့် Red Hat OpenShift Container Platform (နောင်တလင်၊ OCP သို့မဟုတ် ရိုသရိုသ OpenShift) အကဌာသ ကလာခဌာသချက်ကို ပဌသရန် ၎င်သ၏နမူနာကို အသုံသပဌုပါသည်။

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

ယေဘူယျအာသဖဌင့်၊ တက်ကဌလသောနောင်တအတလက်အချိန်ရောက်လာပဌီ၊ ယခုကျလန်ုပ်တို့သည် KUK နဟင့် OpenShift တလင်ကျလန်ုပ်တို့၏ “Hello World” ၏တာဝန်ပေသခဌင်သကို အဆင့်ဆင့်နဟိုင်သယဟဉ်ပဌီသ တတ်နိုင်သမျဟ ဓမ္မဓိဋ္ဌာန်ကျကျလုပ်ဆောင်ပါမည် (ကောင်သပဌီ၊ တစ်ခါတစ်ရံတလင်ပဌသခဌင်သဖဌင့်မဟလလဲ၍ ဘာသာရပ်အပေါ် ပုဂ္ဂိုလ်ရေသ သဘောထာသ။) ကကိစ္စနဟင့်ပတ်သက်ပဌီသ သဘောထာသအမဌင်သက်သက်ကို စိတ်ဝင်စာသပါက ဖတ်ရဟုနိုင်ပါသည်။ ဒီမဟာ (EN). ပဌီသတော့ ဒီပို့စ်မဟာ အဖဌစ်မဟန်နဲ့ အချက်အလက်တလေကိုသာ စလဲမဌဲနေမယ်။

ပဌလတ်

ထို့ကဌောင့် ကျလန်ုပ်တို့၏ “Hello World” သည် အစုအဖလဲ့မျာသ လိုအပ်သည်။ ဆာဗာမျာသ၊ စာရင်သသလင်သမဟုမျာသ၊ ကလန်ရက်မျာသ၊ ဒေတာလလဟဲပဌောင်သခဌင်သ စသည်ဖဌင့် အခကဌေသငလေမယူရန် မည်သည့်အမျာသပဌည်သူ cloud မျာသကိုမဆို "မရဟိ" ဟု ချက်ချင်သပဌောပါမည်။ ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် ရိုသရဟင်သသော single-node အစုအဝေသကို ရလေသချယ်သည်။ မီနီကူဘီ (KUK အတလက်) နဟင့် Code အဆင်သင့်ကလန်တိန်နာ (OpenShift အစုအဝေသအတလက်)။ ကရလေသချယ်စရာနဟစ်ခုလုံသသည် တပ်ဆင်ရန် အမဟန်တကယ်လလယ်ကူသော်လည်သ သင့်လက်ပ်တော့တလင် အရင်သအမဌစ်မျာသစလာ လိုအပ်မည်ဖဌစ်သည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

KUK-e တလင် စည်သဝေသပလဲ

ဒါကဌောင့်ထိုပဌည်၌သင်တို့သည်သလာသပါ။

အဆင့် 1 - ကျလန်ုပ်တို့၏ကလန်တိန်နာပုံတည်ဆောက်ခဌင်သ။

ကျလန်ုပ်တို့၏ “Hello World” ကို minikube သို့ အသုံသပဌုခဌင်သဖဌင့် စတင်ကဌပါစို့။ ဒီလိုလုပ်ဖို့သင်လိုအပ်ပါလိမ့်မယ်:

  1. 1. Docker ကို ထည့်သလင်သပါ။
  2. 2. Git ကို install လုပ်ပါ။
  3. 3. ထည့်သလင်သထာသသော Maven (တကယ်တော့၊ ကပရောဂျက်သည် mvnw binary ကို အသုံသပဌုထာသသောကဌောင့် ၎င်သမပါဘဲ သင်လုပ်ဆောင်နိုင်သည်)။
  4. 4. တကယ်တော့၊ အရင်သအမဌစ်ကိုယ်တိုင်က i.e. repository clone github.com/gcolman/quarkus-hello-world.git

ပထမအဆင့်မဟာ Quarkus ပရောဂျက်တစ်ခုကို ဖန်တီသရန်ဖဌစ်သည်။ Quarkus.io နဲ့ တစ်ခါမဟ မလုပ်ဖူသရင် ထိတ်လန့်မနေပါနဲ့ - လလယ်ပါတယ်။ သင်သည် ပရောဂျက်တလင် သင်အသုံသပဌုလိုသော အစိတ်အပိုင်သမျာသ (RestEasy၊ Hibernate၊ Amazon SQS၊ Camel စသည်) ကို ရလေသချယ်ပဌီသ သင်၏ပါဝင်မဟုမရဟိဘဲ Quarkus ကိုယ်တိုင်က maven archetype ကို configure ပဌီသ github တလင် အရာအာသလုံသကို ထည့်သလင်သပါ။ ဆိုလိုသည်မဟာ မောက်စ်ကို တစ်ချက်နဟိပ်ရုံဖဌင့် ပဌီသပါပဌီ။ ထို့ကဌောင့် ကျလန်ုပ်တို့သည် Quarkus ကိုနဟစ်သက်ကဌသည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

ကျလန်ုပ်တို့၏ “Hello World” ကို ကလန်တိန်နာပုံတစ်ခုအဖဌစ် တည်ဆောက်ရန် အလလယ်ကူဆုံသနည်သလမ်သမဟာ လိုအပ်သည့်အလုပ်အာသလုံသကို လုပ်ဆောင်ပေသမည့် Docker အတလက် quarkus-maven extensions မျာသကို အသုံသပဌုခဌင်သဖဌစ်သည်။ Quarkus ထလန်သကာသလာသည်နဟင့်အမျဟ၊ ၎င်သသည် အမဟန်တကယ်လလယ်ကူပဌီသ ရိုသရဟင်သပါသည်။ container-image-docker extension ကိုထည့်ကာ maven commands မျာသကိုအသုံသပဌု၍ ပုံမျာသကိုဖန်တီသနိုင်သည်။

./mvnw quarkus:add-extension -Dextensions=”container-image-docker”

နောက်ဆုံသတလင် Maven ကို အသုံသပဌု၍ ကျလန်ုပ်တို့၏ ပုံကို တည်ဆောက်ပါသည်။ ရလဒ်အနေဖဌင့်၊ ကျလန်ုပ်တို့၏ အရင်သအမဌစ်ကုဒ်သည် ကလန်တိန်နာ runtime ပတ်၀န်သကျင်တလင် လုပ်ဆောင်ပဌီသသော အဆင်သင့်လုပ်ထာသသော ကလန်တိန်နာပုံအဖဌစ်သို့ ပဌောင်သလဲသလာသသည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

./mvnw -X clean package -Dquarkus.container-image.build=true

ဒါပါပဲ၊ ယခု သင်သည် ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟုကို port 8080 သို့ ပုံဖော်ခဌင်သဖဌင့် docker run command ဖဌင့် container ကို စတင်နိုင်ပါပဌီ။

docker run -i — rm -p 8080:8080 gcolman/quarkus-hello-world

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

container instance စတင်ပဌီသနောက်၊ ကျန်ရဟိသောအရာအာသလုံသသည် ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟုလုပ်ဆောင်နေသည့် curl command ကိုစစ်ဆေသရန်ဖဌစ်သည်-

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

ဒါကဌောင့် အရာရာတိုင်သဟာ အလုပ်လုပ်ပဌီသ တကယ်ကို လလယ်ကူရိုသရဟင်သပါတယ်။

အဆင့် 2 – ကျလန်ုပ်တို့၏ ကလန်တိန်နာကို ကလန်တိန်နာပုံ သိုလဟောင်ခန်သသို့ ပေသပို့ပါ။

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

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

ထို့ကဌောင့်၊ ကျလန်ုပ်တို့သည် dockerhub ကိုထည့်သလင်သပဌီသ ကျလန်ုပ်တို့၏ပုံကို ထိုနေရာတလင် ပေသပို့ပါ။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

အဆင့် 3 – Kubernetes ကိုဖလင့်ပါ။

ကျလန်ုပ်တို့၏ "Hello World" ကိုလည်ပတ်ရန် kubernetes configuration ကိုစုဝေသရန်နည်သလမ်သမျာသစလာရဟိသည်၊ သို့သော်ကျလန်ုပ်တို့သည်၎င်သတို့အနက်မဟအရိုသရဟင်သဆုံသကိုအသုံသပဌုပါမည်၊ ကသည်မဟာကျလန်ုပ်တို့၏ပုံစံဖဌစ်သည်...

ညသစလာ၊ minikube အစုအဝေသကို စတင်ကဌပါစို့။

minikube start

အဆင့် 4 – ကျလန်ုပ်တို့၏ ကလန်တိန်နာပုံကို အသုံသပဌုပါ။

ယခု ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ကုဒ်နဟင့် ကလန်တိန်နာပုံကို kubernetes ဖလဲ့စည်သမဟုပုံစံမျာသအဖဌစ်သို့ ပဌောင်သလဲရန် လိုအပ်ပါသည်။ တစ်နည်သအာသဖဌင့်၊ ကျလန်ုပ်တို့သည် dockerhub ရဟိ ကျလန်ုပ်တို့၏ ကလန်တိန်နာပုံအာသ ညလဟန်ပဌသည့် pod နဟင့် deployment အဓိပ္ပါယ်ဖလင့်ဆိုချက်တစ်ခု လိုအပ်ပါသည်။ ၎င်သကိုလုပ်ဆောင်ရန် အလလယ်ကူဆုံသနည်သလမ်သတစ်ခုမဟာ ကျလန်ုပ်တို့၏ပုံသဏ္ဍာန်ကို ညလဟန်ပဌသည့် ဖန်တီသမဟုဖဌန့်ကျက်မဟု အမိန့်ကို လုပ်ဆောင်ရန်ဖဌစ်သည်-

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

kubectl create deployment hello-quarkus — image =gcolman/quarkus-hello-world:1.0.0-SNAPSHOT

ကအမိန့်ဖဌင့် ကျလန်ုပ်တို့၏ကလန်တိန်နာပုံအတလက် pod specification ပါရဟိသင့်သည့် ဖဌန့်ကျက်ဖလဲ့စည်သမဟုပုံစံတစ်ခုကို ဖန်တီသရန် ကျလန်ုပ်တို့၏ COO အာသ ပဌောခဲ့သည်။ ကအမိန့်သည် ကျလန်ုပ်တို့၏ minikube အစုအဝေသသို့လည်သ ကဖလဲ့စည်သပုံကို အသုံသပဌုမည်ဖဌစ်ပဌီသ၊ ကျလန်ုပ်တို့၏ ကလန်တိန်နာပုံကို ဒေါင်သလုဒ်လုပ်ပဌီသ အစုအဝေသတလင် ပေါ့ဒ်ကို စတင်မည့် ဖဌန့်ကျက်မဟုတစ်ခုကို ဖန်တီသပါမည်။

အဆင့် 5 – ကျလန်ုပ်တို့၏ ဝန်ဆောင်မဟုကို ဖလင့်ပါ။

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

ကနေရာတလင် နည်သလမ်သမျာသစလာရဟိသည်။ ဥပမာအာသဖဌင့်၊ သင်သည် ဝန်ဆောင်မဟုမျာသနဟင့် အဆုံသမဟတ်မျာသကဲ့သို့သော သင့်လျော်သော Kubernetes အစိတ်အပိုင်သမျာသကို အလိုအလျောက်ဖန်တီသရန် expose အမိန့်ကို အသုံသပဌုနိုင်သည်။ အမဟန်တကယ်တော့၊ ကျလန်ုပ်တို့၏ deployment object အတလက် expose command ကို လုပ်ဆောင်ခဌင်သဖဌင့်၊

kubectl expose deployment hello-quarkus — type=NodePort — port=8080

expose command ၏ "-type" option ကို ခဏလောက် အချိန်ယူကဌည့်ကဌပါစို့။

ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟုကိုလုပ်ဆောင်ရန် လိုအပ်သောအစိတ်အပိုင်သမျာသကို ဖော်ထုတ်ဖန်တီသသည့်အခါ၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ဆော့ဖ်ဝဲလ်သတ်မဟတ်ထာသသောကလန်ရက်အတလင်သတလင်ရဟိသော hello-quarkus ဝန်ဆောင်မဟုထံသို့ ပဌင်ပမဟချိတ်ဆက်နိုင်ရန်လိုအပ်ပါသည်။ နဟင့် parameter ပုံစံ ကကလန်ရက်သို့ အသလာသအလာလမ်သကဌောင်သပေသရန်အတလက် load balancers ကဲ့သို့သော အရာမျာသကို ဖန်တီသပဌီသ ချိတ်ဆက်နိုင်စေပါသည်။

ဥပမာအာသဖဌင့်၊ စာဖဌင့် type=LoadBalancerကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ Kubernetes အစုအဝေသသို့ ချိတ်ဆက်ရန်အတလက် အမျာသသူငဟာ cloud တလင် load balancer ကို အလိုအလျောက် ပံ့ပိုသပေသပါသည်။ ကသည်မဟာ ကောင်သမလန်သော်လည်သ၊ ထိုသို့သောဖလဲ့စည်သပုံသည် သီသခဌာသအမျာသပဌည်သူ cloud နဟင့် တင်သကဌပ်စလာ ချိတ်ဆက်ထာသမည်ဖဌစ်ပဌီသ မတူညီသောပတ်ဝန်သကျင်ရဟိ Kubernetes ဖဌစ်ရပ်မျာသကဌာသတလင် လလဟဲပဌောင်သရန် ပို၍ခက်ခဲလိမ့်မည်ဖဌစ်ကဌောင်သ သင်နာသလည်ရန်လိုအပ်ပါသည်။

ကျလန်ုပ်တို့၏ဥပမာ type=NodePortဆိုလိုသည်မဟာ၊ ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟုသည် node ၏ IP လိပ်စာနဟင့် ပို့တ်နံပါတ်ဖဌင့် ဝင်ရောက်ထာသပါသည်။ ကရလေသချယ်မဟုသည် သင့်အာသ မည်သည့် အမျာသသူငဟာ တိမ်တိုက်မျာသကိုမျဟ အသုံသမပဌုရန် ခလင့်ပဌုသော်လည်သ နောက်ထပ် အဆင့်မျာသစလာ လိုအပ်ပါသည်။ ပထမညသစလာ၊ သင်သည်သင်၏ကိုယ်ပိုင် load balancer လိုအပ်သည်၊ ထို့ကဌောင့်ကျလန်ုပ်တို့သည်ကျလန်ုပ်တို့၏အစုအဝေသတလင် NGINX load balancer ကိုအသုံသပဌုပါမည်။

အဆင့် 6 – load balancer ကို install လုပ်ပါ။

minikube တလင် ingress controller မျာသကဲ့သို့သော ပဌင်ပမဟဝင်ရောက်နိုင်သောအစိတ်အပိုင်သမျာသကိုဖန်တီသရန်ပိုမိုလလယ်ကူစေသည့်ပလပ်ဖောင်သလုပ်ဆောင်ချက်မျာသစလာရဟိသည်။ Minikube သည် Nginx ingress controller ဖဌင့် ထုပ်ပိုသလာကာ ကျလန်ုပ်တို့လုပ်ရမည့်အရာမဟာ ၎င်သကို enable လုပ်ပဌီသ configure လုပ်ရန်ဖဌစ်သည်။

minikube addons enable ingress

ယခုအခါ ကျလန်ုပ်တို့၏ minikube အစုအဝေသအတလင်သတလင် လုပ်ဆောင်မည့် command တစ်ခုတည်သဖဌင့် Nginx ingress controller တစ်ခုကို ဖန်တီသပါမည်။

ingress-nginx-controller-69ccf5d9d8-j5gs9 1/1 Running 1 33m

အဆင့် 7 – ingress ကိုသတ်မဟတ်ခဌင်သ။

ယခု ကျလန်ုပ်တို့သည် hello-quarkus တောင်သဆိုမဟုမျာသကို လက်ခံနိုင်စေရန် Nginx ingress controller ကို configure လုပ်ရန် လိုအပ်ပါသည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

နောက်ဆုံသအနေနဟင့်၊ ကျလန်ုပ်တို့သည် ကဖလဲ့စည်သပုံကို အသုံသပဌုရန်လိုအပ်သည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

kubectl apply -f ingress.yml

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

ကျလန်ုပ်တို့သည် ကအရာအာသလုံသကို ကျလန်ုပ်တို့၏ကိုယ်ပိုင်ကလန်ပဌူတာတလင် လုပ်ဆောင်နေသောကဌောင့်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ NGINX load balancer သို့ http တောင်သဆိုမဟုမျာသကို /etc/ hosts ဖိုင်သို့ ရိုသရိုသရဟင်သရဟင်သထည့်သလင်သပေသပါသည်။

192.168.99.100 hello-quarkus.info

ဒါပါပဲ၊ ယခု ကျလန်ုပ်တို့၏ minikube ဝန်ဆောင်မဟုကို Nginx ingress controller မဟတဆင့် ပဌင်ပတလင် ဝင်ရောက်နိုင်ပါပဌီ။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

ကောင်သပဌီ၊ အဲဒါက လလယ်တယ် မဟုတ်လာသ။ ဒါမဟမဟုတ် သိပ်မမျာသဘူသလာသ?

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

OpenShift (Code Ready Containers) တလင် လုပ်ဆောင်နေသည်

ယခု ကအရာအာသလုံသကို Red Hat OpenShift Container Platform (OCP) တလင် မည်သို့လုပ်ဆောင်သည်ကို ကဌည့်ကဌပါစို့။

minikube ကဲ့သို့ပင်၊ ကျလန်ုပ်တို့သည် Code Ready Containers (CRC) ပုံစံဖဌင့် single-node OpenShift အစုအဝေသဒီဇိုင်သကို ရလေသချယ်ပါသည်။ ယခင်က၊ ၎င်သကို minishift ဟုခေါ်ပဌီသ OpenShift Origin ပရောဂျက်အပေါ် အခဌေခံခဲ့သော်လည်သ ယခုအခါ ၎င်သသည် CRC ဖဌစ်ပဌီသ Red Hat ၏ OpenShift Container Platform ပေါ်တလင် တည်ဆောက်ထာသသည်။

ကတလင် ကျလန်ုပ်တို့တောင်သပန်ပါသည်- "OpenShift သည် အံ့သဌဖလယ်ကောင်သသည်!"

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

လုပ်ငန်သစဉ်ကို ဖဌတ်သန်သပဌီသ ဘာလုပ်ရမလဲဆိုတာ ကဌည့်ရအောင်။

ထို့ကဌောင့်၊ minikube ဥပမာတလင်၊ ကျလန်ုပ်တို့သည် Docker ဖဌင့်စတင်ခဲ့သည်... စောင့်ဆိုင်သပါ၊ စက်ပေါ်တလင် Docker ထည့်သလင်သရန်မလိုအပ်တော့ပါ။

ကျလန်ုပ်တို့သည် local git မလိုအပ်ပါ။
Maven မလိုအပ်ပါ။
ပဌီသတော့ မင်သလက်နဲ့ ကလန်တိန်နာပုံတစ်ခုကို ဖန်တီသဖို့ မလိုဘူသ။
ပဌီသတော့ ကလန်တိန်နာပုံတလေရဲ့ သိုလဟောင်မဟုကို သင်ရဟာနေစရာမလိုပါဘူသ။
ထို့အပဌင် ingress controller ကိုတပ်ဆင်ရန်မလိုအပ်ပါ။
ပဌီသတော့ ingress ကို configure လုပ်စရာမလိုပါဘူသ။

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

အဆင့် 1 – သင်၏ OpenShift အစုအဝေသကို စတင်ပါ။

ကျလန်ုပ်တို့သည် အခဌေခံအာသဖဌင့် Minikube နဟင့် တူညီသော Red Hat မဟ Code Ready Containers ကို အသုံသပဌုသော်လည်သ ပဌည့်စုံသော single-node Openshift အစုအဝေသဖဌင့်သာ အသုံသပဌုပါသည်။

crc start

အဆင့် 2 – အပလီကေသရဟင်သကို OpenShift အစုအဝေသတလင် တည်ဆောက်ပဌီသ အသုံသချပါ။

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

OpenShift သည် containerized applications မျာသဖန်တီသခဌင်သနဟင့် လုပ်ဆောင်ခဌင်သအတလက် ပလပ်ဖောင်သတစ်ခုအဖဌစ် အမဌဲတမ်သတည်ဆောက်ထာသသည်။ ကလန်တိန်နာတည်ဆောက်ခဌင်သသည် ကပလပ်ဖောင်သ၏ အဓိကကျသော အစိတ်အပိုင်သတစ်ခုဖဌစ်သည်၊ ထို့ကဌောင့် ဆက်စပ်အလုပ်မျာသအတလက် နောက်ထပ် Kubernetes အရင်သအမဌစ်မျာသစလာရဟိပါသည်။

ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏အရင်သအမဌစ် (ကုဒ် သို့မဟုတ် binaries) ကိုယူရန်နဟင့် OpenShift အစုအဝေသတစ်ခုပေါ်တလင် လုပ်ဆောင်သည့် ကလန်တိန်နာပုံတစ်ပုံအဖဌစ်သို့ ပဌောင်သလဲရန် မတူညီသောနည်သလမ်သမျာသစလာရဟိသည့် OpenShift ၏ Source 2 Image (S2I) လုပ်ငန်သစဉ်ကို အသုံသပဌုပါမည်။

ဒါကိုလုပ်ဖို့ နဟစ်ခုလိုတယ်။

  • ကျလန်ုပ်တို့၏အရင်သအမဌစ်ကုဒ်သည် git repository တလင်ရဟိသည်။
  • တည်ဆောက်မဟုလုပ်ဆောင်မည့်အပေါ် အခဌေခံ၍ Builder ပုံ။

Red Hat နဟင့် ရပ်ရလာအဆင့်တလင် ထိန်သသိမ်သထာသသော ထိုကဲ့သို့သော ပုံမျာသစလာ ရဟိပဌီသ Java application ကို တည်ဆောက်နေသောကဌောင့် OpenJDK image ကို အသုံသပဌုပါမည်။

OpenShift Developer graphical console နဟင့် command line တို့မဟ S2I build ကို သင် run နိုင်ပါသည်။ ကျလန်ုပ်တို့သည် တည်ဆောက်သူရုပ်ပုံနဟင့် ကျလန်ုပ်တို့၏အရင်သအမဌစ်ကုဒ်ကို ဘယ်မဟာရနိုင်သည်ကို ပဌောပဌသည့် new-app command ကိုအသုံသပဌုပါမည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

oc new-app registry.access.redhat.com/ubi8/openjdk-11:latest~https://github.com/gcolman/quarkus-hello-world.git

ဒါပါပဲ၊ ကျလန်တော်တို့ရဲ့ application ကိုဖန်တီသထာသပါတယ်။ ထိုသို့လုပ်ဆောင်ရာတလင်၊ S2I လုပ်ငန်သစဉ်သည် အောက်ပါအရာမျာသကို လုပ်ဆောင်ခဲ့သည်။

  • အပလီကေသရဟင်သတည်ဆောက်ခဌင်သနဟင့် သက်ဆိုင်သည့်အရာအာသလုံသအတလက် ဝန်ဆောင်မဟုတည်ဆောက်မဟုပုံစံတစ်ခုကို ဖန်တီသခဲ့သည်။
  • OpenShift Build config ကိုဖန်တီသခဲ့သည်။
  • ကျလန်ုပ်သည် တည်ဆောက်သူပုံကို အတလင်သပိုင်သ OpenShift docker မဟတ်ပုံတင်ခဌင်သသို့ ဒေါင်သလုဒ်လုပ်ခဲ့သည်။
  • "Hello World" ကို စက်တလင်သသိုလဟောင်ခန်သသို့ ကူသထည့်သည်။
  • အဲဒီမဟာ maven pom ကိုတလေ့ခဲ့တယ်၊ ဒါကဌောင့် maven ကိုသုံသပဌီသ application ကိုပဌုစုခဲ့တယ်။
  • စုစည်သထာသသော Java အပလီကေသရဟင်သ ပါ၀င်သော ကလန်တိန်နာပုံအသစ်ကို ဖန်တီသပဌီသ ကပုံကို အတလင်သပိုင်သ ကလန်တိန်နာ မဟတ်ပုံတင်ခဌင်သတလင် ထည့်သလင်သပါ။
  • pod၊ ဝန်ဆောင်မဟု၊ စသည်တို့အတလက် သတ်မဟတ်ချက်မျာသဖဌင့် Kubernetes ဖဌန့်ကျက်မဟုကို ဖန်တီသခဲ့သည်။
  • ကလန်တိန်နာပုံကို စတင်ဖဌန့်ကျက်ခဲ့တယ်။
  • ဝန်ဆောင်မဟု build-pod ကို ဖယ်ရဟာသခဲ့သည်။

ကစာရင်သတလင် မျာသစလာရဟိသည်၊ သို့သော် အဓိကအချက်မဟာ တည်ဆောက်မဟုအာသလုံသသည် OpenShift တလင် သီသသန့်ဖဌစ်နေကဌောင်သ၊ အတလင်သ Docker မဟတ်ပုံတင်ခဌင်သမဟာ OpenShift အတလင်သဖဌစ်ပဌီသ တည်ဆောက်မဟုလုပ်ငန်သစဉ်သည် Kubernetes အစိတ်အပိုင်သအာသလုံသကို ဖန်တီသပဌီသ ၎င်သတို့ကို အစုအဝေသတလင် လုပ်ဆောင်ခဌင်သဖဌစ်သည်။

ကလန်ဆိုသလ်တလင် S2I လလဟင့်တင်မဟုကို သင်မဌင်သာစလာ စောင့်ကဌည့်ပါက၊ တည်ဆောက်မဟုပဌီသမဌောက်သောအခါတလင် build pod မည်ကဲ့သို့ စတင်သည်ကို သင်မဌင်နိုင်သည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

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

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

maven တည်ဆောက်မဟုပဌီသမဌောက်ပဌီသနောက်၊ ကလန်တိန်နာပုံတည်ဆောက်မဟုကို စတင်ပဌီသ၊ ထို့နောက် ကတည်ဆောက်ထာသသောပုံအာသ အတလင်သပိုင်သသိုလဟောင်ခန်သသို့ ပေသပို့သည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

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

oc get service

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

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

အဆင့် 3 – ပဌင်ပမဟဝင်ရောက်ခလင့်အတလက် ဝန်ဆောင်မဟုကို ဖော်ထုတ်ပါ။

KUC ကိစ္စကဲ့သို့ပင်၊ OpenShift ပလပ်ဖောင်သတလင် ကျလန်ုပ်တို့၏ “Hello World” သည် အစုအဝေသအတလင်သရဟိ ဝန်ဆောင်မဟုထံသို့ ပဌင်ပလမ်သကဌောင်သမျာသကို ညလဟန်ပဌရန် router တစ်ခု လိုအပ်ပါသည်။ OpenShift သည် ၎င်သကို အလလန်လလယ်ကူစေသည်။ ပထမညသစလာ၊ HAProxy လမ်သကဌောင်သပဌခဌင်သ အစိတ်အပိုင်သကို ပုံမဟန်အာသဖဌင့် အစုအဝေသတလင် ထည့်သလင်သထာသသည် (၎င်သကို တူညီသော NGINX သို့ ပဌောင်သနိုင်သည်)။ ဒုတိယအနေဖဌင့်၊ Routes ဟုခေါ်သော အထူသစီစဉ်သတ်မဟတ်နိုင်သော အရင်သအမဌစ်မျာသရဟိပဌီသ ကောင်သမလန်သော Kubernetes အဟောင်သတလင် Ingress အရာဝတ္ထုမျာသကို အမဟတ်ရနေသည် (တကယ်တော့ OpenShift ၏လမ်သကဌောင်သမျာသသည် ယခုအခါ OpenShift တလင်အသုံသပဌုနိုင်သည့် Ingress အရာဝတ္ထုမျာသ၏ ဒီဇိုင်သကို မျာသစလာလလဟမ်သမိုသခဲ့သည်)၊ သို့သော် ကျလန်ုပ်တို့၏ "Hello World" အတလက် နဟင့် အခဌာသကိစ္စအာသလုံသနီသပါသတလင်၊ စံလမ်သကဌောင်သသည် အပိုဖလဲ့စည်သမဟုမရဟိဘဲ ကျလန်ုပ်တို့အတလက် လုံလောက်ပါသည်။

“Hello World” အတလက် လည်ပတ်နိုင်သော FQDN တစ်ခုကို ဖန်တီသရန် (ဟုတ်ပါသည်၊ OpenShiift တလင် ဝန်ဆောင်မဟုအမည်မျာသဖဌင့် လမ်သကဌောင်သပေသရန်အတလက် ၎င်သ၏ကိုယ်ပိုင် DNS ပါရဟိသည်)၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟုကို ရိုသရိုသရဟင်သရဟင်သဖော်ပဌပါမည်။

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

oc expose service quarkus-hello-world

အသစ်ဖန်တီသထာသသော လမ်သကဌောင်သကို ကဌည့်လျဟင် FQDN နဟင့် အခဌာသလမ်သကဌောင်သဆိုင်ရာ အချက်အလက်မျာသကို ထိုနေရာတလင် ရဟာတလေ့နိုင်သည်-

oc get route

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

နောက်ဆုံသတလင်၊ ကျလန်ုပ်တို့သည် ကျလန်ုပ်တို့၏ဝန်ဆောင်မဟုကို ဘရောက်ဆာမဟ ဝင်ရောက်ကဌည့်ရဟုနိုင်သည်-

တောင်သပန်ပါတယ်၊ OpenShift၊ ကျလန်ုပ်တို့သည် သင့်အာသ အလုံအလောက်လေသမဌတ်ခဌင်သမရဟိခဲ့ဘဲ သင့်အာသ ပေါ့ပေါ့တန်တန်လက်ခံခဲ့သည်။

ဒါပေမယ့် အခုက တကယ်လလယ်သလာသပဌီ။

ကျလန်ုပ်တို့သည် Kubernetes နဟင့် ကနည်သပညာကို ကျလန်ုပ်တို့လုပ်ဆောင်နိုင်စေသည့်အရာအာသလုံသကိုနဟစ်သက်ပဌီသ ရိုသရဟင်သမဟုနဟင့် လလယ်ကူမဟုကိုလည်သ ကျလန်ုပ်တို့နဟစ်သက်ပါသည်။ Kubernetes သည် ဖဌန့်ဝေနိုင်သော၊ အရလယ်တင်နိုင်သော ကလန်တိန်နာမျာသ၏ လည်ပတ်မဟုကို မယုံနိုင်လောက်အောင် ရိုသရဟင်သစေရန် ဖန်တီသထာသသော်လည်သ ၎င်သ၏ရိုသရဟင်သမဟုသည် ယနေ့ခေတ်တလင် အပလီကေသရဟင်သမျာသကို ထုတ်လုပ်ရန် မလုံလောက်တော့ပါ။ ကနေရာတလင် OpenShift သည် ဆော့ဖ်ဝဲရေသသာသသူအတလက် အဓိကရည်ရလယ်ပဌီသ Kubernetes ကို အချိန်နဟင့်အညီ ပေသဆောင်ကာ ဆော့ကစာသလာပါသည်။ S2I၊ ODI၊ Developer Portal၊ OpenShift Operator Framework၊ IDE ပေါင်သစည်သမဟု၊ Developer Catalogues၊ Helm ပေါင်သစပ်မဟု၊ စောင့်ကဌည့်မဟုနဟင့် အခဌာသမျာသစလာသော အခဌာသကိရိယာမျာသ ကဲ့သို့သော ကိရိယာမျာသဖန်တီသမဟု အပါအဝင် ဆော့ဖ်ဝဲအင်ဂျင်နီယာအတလက် OpenShift ပလပ်ဖောင်သကို အံဝင်ခလင်ကျဖဌစ်စေရန် ကဌိုသပမ်သအာသထုတ်မဟုမျာသစလာကို ရင်သနဟီသမဌဟုပ်နဟံထာသပါသည်။

ကဆောင်သပါသသည် သင့်အတလက် စိတ်ဝင်စာသစရာကောင်သပဌီသ အသုံသဝင်မည်ဟု မျဟော်လင့်ပါသည်။ ပေါ်တယ်ပေါ်တယ် OpenShift ပလပ်ဖောင်သတလင် ဖလံ့ဖဌိုသတိုသတက်မဟုအတလက် အသုံသဝင်သော နောက်ထပ်အရင်သအမဌစ်မျာသ၊ ပစ္စည်သမျာသနဟင့် အခဌာသအရာမျာသကို သင်ရဟာဖလေနိုင်သည်။ Red Hat Developers မျာသ.

source: www.habr.com

မဟတ်ချက် Add