Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ

Red Hat OpenShift နှင့် Kubernetes တို့နှင့် ပေါင်းစပ်လိုက်သောအခါ Istio Service Mesh ၏ စွမ်းရည်များစွာကို ပြသသည့် ပို့စ်များစွာကို ကျွန်ုပ်တို့ စတင်လုပ်ဆောင်နေပါသည်။

Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ

အပိုင်းတစ်၊ ယနေ့

  • Kubernetes ဘေးတွဲကွန်တိန်နာများ၏ သဘောတရားကို ရှင်းပြပြီး ဤစီးရီး၏ ပို့စ်များ၏ အဓိပ္ပါယ်ကို ပုံဖော်ကြပါစို့။ "မင်းရဲ့ကုဒ်မှာ ဘာမှပြောင်းစရာ မလိုဘူး".
  • Istio - လမ်းကြောင်းသတ်မှတ်ခြင်းစည်းမျဉ်းများရဲ့ အခြေခံအချက်ကို မိတ်ဆက်ပေးပါရစေ။ ဝန်ဆောင်မှုကုဒ်ပြင်ပ YAML ဖိုင်များကို အသုံးပြု၍ မိုက်ခရိုဆားဗစ်များသို့ လမ်းကြောင်းပြခွင့်ပြုသည့် စည်းမျဉ်းများဖြစ်သောကြောင့် အခြားသော Istio အင်္ဂါရပ်များအားလုံးကို ၎င်းတို့ပေါ်တွင် တည်ဆောက်ထားသည်။ Canary Deployment ဖြန့်ကျက်မှု အစီအစဉ်ကိုလည်း ကျွန်ုပ်တို့ စဉ်းစားနေပါသည်။ နှစ်သစ်ကူးဆုကြေးငွေ – Istio တွင် အပြန်အလှန်အကျိုးပြုသော သင်ခန်းစာ ၁၀ ခု


အပိုင်းနှစ်၊ မကြာမီလာမည်၊

  • Istio သည် Pool Ejection ကို Circuit Breaker နှင့် ပေါင်းစပ်ပြီး မည်သို့လုပ်ဆောင်ပြီး Istio သည် သင့်အား balancing circuit မှ သေဆုံးနေသော သို့မဟုတ် ညံ့ဖျင်းသော pod တစ်ခုကို ဖယ်ရှားနိုင်ပုံကို သရုပ်ပြမည်ဖြစ်သည်။
  • Istio ကို ဤနေရာတွင် မည်သို့အသုံးပြုနိုင်သည်ကိုကြည့်ရန် ပထမပို့စ်မှ Circuit Breaker ခေါင်းစဉ်ကိုလည်း ကြည့်ရှုပါမည်။ ဝန်ဆောင်မှုကုဒ်တွင် အနည်းငယ်ပြောင်းလဲမှုမရှိဘဲ YAML ဖွဲ့စည်းမှုပုံစံဖိုင်များနှင့် terminal command များကို အသုံးပြု၍ လမ်းကြောင်းလမ်းကြောင်းနှင့် ကွန်ရက်အမှားများကို ကိုင်တွယ်နည်းကို သင့်အား ပြသပါမည်။

အပိုင်းသုံး-

  • Istio တွင် ထည့်သွင်းထားပြီး သို့မဟုတ် အလွယ်တကူ ထည့်သွင်းထားသည့် ခြေရာခံခြင်းနှင့် စောင့်ကြည့်ခြင်းအကြောင်း ဇာတ်လမ်း။ မိုက်ခရိုဆားဗစ်ဗိသုကာများကို လွယ်ကူစွာစီမံခန့်ခွဲရန်အတွက် OpenShift scaling နှင့် ပေါင်းစပ်ထားသည့် Prometheus၊ Jaeger နှင့် Grafana ကဲ့သို့သော ကိရိယာများကို သင့်အား မည်သို့အသုံးပြုရမည်ကို ကျွန်ုပ်တို့ပြသပါမည်။
  • ကျွန်ုပ်တို့သည် အမှားများကို စောင့်ကြည့်ခြင်းနှင့် ကိုင်တွယ်ခြင်းမှ ၎င်းတို့ကို စနစ်သို့ ရည်ရွယ်ချက်ရှိရှိ မိတ်ဆက်ခြင်းသို့ ရွှေ့သည်။ တစ်နည်းအားဖြင့်ဆိုရသော်၊ စမ်းသပ်မှုရှုထောင့်မှ အလွန်အရေးကြီးသည့် အရင်းအမြစ်ကုဒ်ကို မပြောင်းလဲဘဲ အမှားအယွင်းပြုလုပ်နည်းကို ကျွန်ုပ်တို့ လေ့လာသင်ယူပါ - ၎င်းအတွက် ကုဒ်ကိုယ်တိုင်ကို ပြောင်းလဲပါက၊ အပိုအမှားအယွင်းများကို မိတ်ဆက်ရန် အန္တရာယ်ရှိပါသည်။

နောက်ဆုံးအနေဖြင့် Istio Service Mesh ၏နောက်ဆုံးစာတွင်-

  • အမှောင်ဘက်သို့ သွားကြပါစို့။ ကုဒ်ကို အသုံးချပြီး ထုတ်လုပ်မှုဒေတာတွင် တိုက်ရိုက်စမ်းသပ်သောအခါတွင် Dark Launch အစီအစဉ်ကို အသုံးပြုရန် အတိအကျ လေ့လာနိုင်သော်လည်း မည်သည့်နည်းနှင့်မျှ စနစ်၏လည်ပတ်မှုကို မထိခိုက်စေပါ။ ဤနေရာတွင် Istio ၏ အသွားအလာများကို ခွဲထုတ်နိုင်စွမ်းသည် အဆင်ပြေလာပါသည်။ တိုက်ခိုက်ရေးစနစ်၏ လုပ်ဆောင်ချက်ကို မည်သည့်နည်းဖြင့်မျှ မထိခိုက်စေဘဲ တိုက်ရိုက်ထုတ်လုပ်သည့်ဒေတာကို စမ်းသပ်နိုင်စွမ်းသည် ယုံကြည်စိတ်ချရဆုံးသော အတည်ပြုနည်းလမ်းဖြစ်သည်။
  • Dark Launch ကို တည်ဆောက်ခြင်းဖြင့် အန္တရာယ်ကို လျှော့ချရန်နှင့် ထုတ်လုပ်ရေးတွင် ကုဒ်အသစ်ရရန် ပိုမိုလွယ်ကူစေရန် Canary Deployment မော်ဒယ်ကို အသုံးပြုနည်းကို သင့်အား ပြသပါမည်။ Canary Deployment ကိုယ်တိုင်က အသစ်နှင့် ဝေးကွာသော်လည်း Istio သည် ရိုးရှင်းသော YAML ဖိုင်များဖြင့် ဤအစီအစဥ်ကို အကောင်အထည်ဖော်နိုင်စေပါသည်။
  • နောက်ဆုံးတွင်၊ အင်တာနက်နှင့်အလုပ်လုပ်သောအခါ Istio ၏စွမ်းဆောင်နိုင်ရည်များကိုအသုံးပြုရန်အတွက် သင်၏အစုအဖွဲ့များပြင်ပရှိသူများအား ဝန်ဆောင်မှုများထံဝင်ရောက်ခွင့်ပေးရန် Istio Egress ကိုအသုံးပြုပုံကို သင့်အားပြသပါမည်။

ဒါဆို သွားတော့...

Istio စောင့်ကြည့်ခြင်းနှင့် စီမံခန့်ခွဲရေးကိရိယာများ - ဝန်ဆောင်မှုကွက်တစ်ခုတွင် microservices များကို စုစည်းရန် သင်လိုအပ်သမျှ ဝန်ဆောင်မှုကွက်.

Istio Service Mesh ဆိုတာဘာလဲ

ဝန်ဆောင်မှု Mesh သည် လမ်းကြောင်းစောင့်ကြည့်ခြင်း၊ ဝင်ရောက်ထိန်းချုပ်ခြင်း၊ ရှာဖွေတွေ့ရှိခြင်း၊ လုံခြုံရေး၊ အမှားအယွင်းများကို ခံနိုင်ရည်ရှိခြင်းနှင့် ဝန်ဆောင်မှုအုပ်စုတစ်စုအတွက် အခြားအသုံးဝင်သောအရာများကဲ့သို့သော လုပ်ဆောင်ချက်များကို လုပ်ဆောင်ပါသည်။ Istio သည် သင့်အား ဝန်ဆောင်မှု၏ကုဒ်ကို အနည်းငယ်ပြောင်းလဲမှုမရှိဘဲ ၎င်းတို့ကိုယ်တိုင်လုပ်ဆောင်နိုင်စေပါသည်။ မှော်ပညာရဲ့လျှို့ဝှက်ချက်ကဘာလဲ။ Istio သည် ဘေးတွဲကွန်တိန်နာပုံစံဖြင့် ဝန်ဆောင်မှုတစ်ခုစီသို့ ၎င်း၏ကိုယ်ပိုင် proxy ကို ပူးတွဲပါရှိသည် (ဆိုက်ကားသည် မော်တော်ဆိုင်ကယ်ဆိုက်ကားဖြစ်သည်) ပြီးနောက် ဤဝန်ဆောင်မှုသို့ သွားလာမှုအားလုံးကို သတ်မှတ်ထားသည့်မူဝါဒများဖြင့် လမ်းညွှန်ထားသည့် ဤလမ်းကြောင်းကို မည်သို့၊ မည်သည့်အချိန်တွင်၊ ရှိမရှိကို ဆုံးဖြတ်ပေးသည့် ပရောက်စီမှတဆင့် သွားသည် ဝန်ဆောင်မှုကို လုံးဝရောက်ရှိစေရမည်။ Istio သည် Canary deployments၊ circuit breakers၊ fault injection နှင့် အခြားများစွာသော အခြားအဆင့်မြင့် DevOps နည်းပညာများကို အကောင်အထည်ဖော်နိုင်စေပါသည်။

Istio သည် ကွန်တိန်နာများနှင့် Kubernetes နှင့် မည်သို့အလုပ်လုပ်သနည်း။

Istio ဝန်ဆောင်မှု mesh သည် အသေးစားဝန်ဆောင်မှုများကို ဖန်တီးစီမံရန် လိုအပ်သည့်အရာအားလုံး၏ ဘေးတွဲ အကောင်အထည်ဖော်မှုတစ်ခုဖြစ်သည်- စောင့်ကြည့်ခြင်း၊ ခြေရာခံခြင်း၊ ဆားကစ်ဘရိတ်ကာများ၊ လမ်းကြောင်းသတ်မှတ်ခြင်း၊ ဝန်ချိန်ညှိခြင်း၊ မှားယွင်းထိုးသွင်းခြင်း၊ ထပ်စမ်းခြင်း၊ အချိန်ကုန်ခြင်း၊ မှန်ပြောင်းခြင်း၊ ဝင်ရောက်ထိန်းချုပ်ခြင်း၊ နှုန်းကန့်သတ်ခြင်းနှင့် အခြားအရာများစွာကို လုပ်ဆောင်ခြင်း။ ယနေ့ခေတ်တွင် ဤလုပ်ဆောင်ချက်များကို ကုဒ်ဖြင့် တိုက်ရိုက်အကောင်အထည်ဖော်ရန် စာကြည့်တိုက်များစွာရှိသော်လည်း Istio ဖြင့် သင့်ကုဒ်တွင် မည်သည့်အရာကိုမျှ မပြောင်းလဲဘဲ တူညီသောအရာအားလုံးကို ရရှိနိုင်သည်။

ဘေးတွဲမော်ဒယ်အရ Istio သည် Linux ကွန်တိန်နာတစ်ခုတွင် အလုပ်လုပ်ပါသည်။ Kubernetes-pod သည် ထိန်းချုပ်ထားသော ဝန်ဆောင်မှုတစ်ခုဖြင့် ထိုးသွင်းကာ ပေးထားသော ဖွဲ့စည်းမှုပုံစံအရ လုပ်ဆောင်နိုင်စွမ်းနှင့် အချက်အလက်များကို ထုတ်ယူသည်။ ၎င်းသည် သင့်ကိုယ်ပိုင်ဖွဲ့စည်းပုံဖြစ်ပြီး ၎င်းသည် သင့်ကုဒ်အပြင်ဘက်တွင် ရှိနေကြောင်း ကျွန်ုပ်တို့ အလေးပေးဖော်ပြသည်။ ထို့ကြောင့်၊ ကုဒ်သည် ပိုမိုရိုးရှင်းပြီး ပိုတိုလာသည်။

ထို့အပြင် အရေးကြီးသည်မှာ microservices ၏ လုပ်ငန်းလည်ပတ်မှု အစိတ်အပိုင်းသည် ကုဒ်ကိုယ်တိုင်နှင့် မည်သို့မျှ မချိတ်ဆက်ဘဲ ထွက်ပေါ်လာခြင်းဖြစ်ပြီး၊ ဆိုလိုသည်မှာ ၎င်းတို့၏ လုပ်ဆောင်ချက်အား IT ကျွမ်းကျင်သူများထံ လုံခြုံစွာ လွှဲပြောင်းနိုင်ပြီ ဖြစ်သည်။ အမှန်မှာ၊ developer သည် circuit breakers နှင့် fault injection အတွက် အဘယ်ကြောင့် တာဝန်ရှိသင့်သနည်း။ တုံ့ပြန်ပါ၊ ဟုတ်သည်၊ သို့သော် ၎င်းတို့ကို လုပ်ဆောင်ပြီး ဖန်တီးမလား။ ဤအရာအားလုံးကို ကုဒ်မှ ဖယ်ရှားပါက ပရိုဂရမ်မာများသည် အပလီကေးရှင်း၏ လုပ်ဆောင်နိုင်စွမ်းအပေါ် အပြည့်အဝ အာရုံစိုက်နိုင်မည်ဖြစ်သည်။ ကုဒ်ကိုယ်တိုင်က ပိုတိုပြီး ရိုးရှင်းလာမယ်။

ဝန်ဆောင်မှုကွက်

၎င်းတို့၏ကုဒ်အပြင်ဘက်ရှိ အသေးစားဝန်ဆောင်မှုများကို စီမံခန့်ခွဲရန်အတွက် လုပ်ဆောင်ချက်များကို လုပ်ဆောင်သည့် Istio သည် Service Mesh ၏ သဘောတရားဖြစ်သည်။ တစ်နည်းဆိုရသော်၊ ၎င်းသည် ကွန်ရက်လုပ်ဆောင်မှုများ၏ mesh တစ်ခုဖွဲ့စည်းသည့် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော binaries များ၏ ညှိနှိုင်းအုပ်စုဖြစ်သည်။

Istio သည် မိုက်ခရိုဝန်ဆောင်မှုများနှင့် မည်သို့အလုပ်လုပ်သနည်း။

ဤသည်မှာ ဘေးတွဲကွန်တိန်နာများ၏ လုပ်ဆောင်ပုံနှင့် ဆက်စပ်နေသည်။ Kubernetes и အနည်းအကျဉ်း bird's eye view- Minishift ၏ ဥပမာကိုဖွင့်ပါ၊ Istio အတွက် ပရောဂျက်တစ်ခုဖန်တီးပါ (၎င်းကို "istio-system" ဟုခေါ်ဆိုကြပါစို့)၊ Istio နှင့်ပတ်သက်သော အစိတ်အပိုင်းအားလုံးကို ထည့်သွင်းပြီး လုပ်ဆောင်ပါ။ ထို့နောက်၊ သင်သည် ပရောဂျက်များနှင့် pods များကို ဖန်တီးသောအခါ၊ သင်သည် သင်၏ ဖြန့်ကျက်မှုများတွင် ဖွဲ့စည်းမှုအချက်အလက်ကို ထည့်သွင်းပြီး သင်၏ pods များသည် Istio ကို စတင်အသုံးပြုသည်။ ရိုးရှင်းသော ပုံကြမ်းသည် ဤကဲ့သို့ ဖြစ်သည်-

Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ

ယခုအခါတွင် သင်သည် မှားယွင်းသောထိုးသွင်းမှု၊ ပံ့ပိုးမှုတို့ကို စီစဉ်ရန်အတွက် Istio ဆက်တင်များကို ပြောင်းလဲနိုင်သည်။ Canary ဖြန့်ကျက် သို့မဟုတ် အခြားသော Istio အင်္ဂါရပ်များ - နှင့် ဤအရာအားလုံးသည် အပလီကေးရှင်းများ၏ ကုဒ်ကို ကိုယ်တိုင်မထိဘဲ။ သင်၏အကြီးဆုံးဖောက်သည် (Foo Corporation) အသုံးပြုသူများမှ ဝဘ်အသွားအလာအားလုံးကို ဆိုက်၏ဗားရှင်းအသစ်သို့ ပြန်ညွှန်းလိုသည်ဆိုပါစို့။ ဒါကိုလုပ်ဖို့၊ အသုံးပြုသူ ID မှာ @foocorporation.com ကိုရှာပြီး လျော်ညီစွာ ပြန်ညွှန်းပေးမယ့် Istio လမ်းကြောင်းဆိုင်ရာ စည်းမျဉ်းတစ်ခုကို ဖန်တီးလိုက်ပါ။ အခြားအသုံးပြုသူအားလုံးအတွက်၊ ဘာမှမပြောင်းလဲပါ။ ဤအတောအတွင်း၊ သင်သည် ဆိုက်၏ဗားရှင်းအသစ်ကို အေးအေးဆေးဆေး စမ်းသပ်လိမ့်မည်။ ထို့အပြင် ၎င်းအတွက် developer များ လုံးဝပါဝင်ရန် မလိုအပ်ကြောင်း သတိပြုပါ။

ပြီးတော့ အဲဒါအတွက် မင်း လေးလေးနက်နက် ပေးဆပ်ရမှာလား။

ကိစ္စမရှိပါဘူး။ Istio က တော်တော်မြန်ပြီး ရေးထားတယ်။ Go အပေါ်ယံ အနည်းငယ်သာ ဖန်တီးပါ။ ထို့အပြင်၊ developer ကုန်ထုတ်စွမ်းအား တိုးလာခြင်းကြောင့် အွန်လိုင်းကုန်ထုတ်စွမ်းအား ဆုံးရှုံးနိုင်ချေကို ထေမိပါသည်။ အနည်းဆုံး သီအိုရီအရ- developer များ၏ အချိန်သည် အဖိုးတန်ကြောင်း မမေ့ပါနှင့်။ ဆော့ဖ်ဝဲကုန်ကျစရိတ်များအတွက် Istio သည် open source ဆော့ဖ်ဝဲဖြစ်သောကြောင့် သင် ၎င်းကို အခမဲ့ ရယူအသုံးပြုနိုင်ပါသည်။

သင်ကိုယ်တိုင်လုပ်ပါ။

Red Hat Developer Experience Team သည် အတွင်းကျကျ လက်ဆွဲနှုတ်ဆက်ခြင်းကို တီထွင်ခဲ့သည်။ ခေါင်းဆောင်မှု Istio (အင်္ဂလိပ်ဘာသာဖြင့်)။ ၎င်းသည် Linux၊ MacOS နှင့် Windows တွင်အလုပ်လုပ်ပြီး ကုဒ်ကို Java နှင့် Node.js တို့တွင် ရရှိနိုင်သည်။

Istio တွင် အပြန်အလှန်အကျိုးပြုသော သင်ခန်းစာ ၁၀ ခု

Block 1 - စတင်သူများအတွက်

Istio မိတ်ဆက်
30 မိနစ်
Service Mesh နှင့် ရင်းနှီးရအောင်၊ OpenShift Kubernetes အစုအဝေးတွင် Istio ထည့်သွင်းနည်းကို လေ့လာပါ။
အစပြု

Istio တွင် အသေးစားဝန်ဆောင်မှုများ ဖြန့်ကျက်ခြင်း။
30 မိနစ်
Spring Boot နှင့် Vert.x တို့ဖြင့် microservice သုံးခုကို အသုံးပြုရန် Istio ကို အသုံးပြုပါသည်။
အစပြု

Block 2 – အလယ်အလတ်အဆင့်

Istio တွင် စောင့်ကြည့်ခြင်းနှင့် ခြေရာခံခြင်း
60 မိနစ်
ကျွန်ုပ်တို့သည် Istio ၏ built-in စောင့်ကြည့်ရေးကိရိယာများ၊ စိတ်ကြိုက်တိုင်းတာမှုများနှင့် Prometheus နှင့် Grafana မှတစ်ဆင့် OpenTracing ကို ရှာဖွေပါမည်။
အစပြု

Istio တွင်ရိုးရှင်းသောလမ်းကြောင်း
60 မိနစ်
ရိုးရှင်းသောစည်းမျဉ်းများကို အသုံးပြု၍ Istio တွင် လမ်းကြောင်းသတ်မှတ်ခြင်းအား စီမံခန့်ခွဲနည်းကို လေ့လာပါ။
အစပြု

အဆင့်မြင့် လမ်းကြောင်း စည်းမျဉ်းများ
60 မိနစ်
Istio ၏ စမတ်ကျသောလမ်းကြောင်း၊ ဝင်ရောက်ထိန်းချုပ်မှု၊ ဝန်ချိန်ညှိမှုနှင့် နှုန်းကန့်သတ်ချက်ကို ကြည့်ကြပါစို့။
အစပြု

Block 3 - အဆင့်မြင့်အသုံးပြုသူ

Istio ရှိ Fault Injection
60 မိနစ်
ကျွန်ုပ်တို့သည် ဖြန့်ဝေထားသော အပလီကေးရှင်းများတွင် ကိုင်တွယ်ဖြေရှင်းမှု ပျက်ကွက်မှုများ၊ HTTP အမှားအယွင်းများနှင့် ကွန်ရက်နှောင့်နှေးမှုများကို ဖန်တီးကာ ပတ်ဝန်းကျင်ကို ပြန်လည်ထိန်းသိမ်းရန်အတွက် ပရမ်းပတာအင်ဂျင်နီယာကို အသုံးပြုရန် လေ့လာသင်ယူပါ။
အစပြု

Istio ရှိ Circuit Breaker
30 မိနစ်
ကျွန်ုပ်တို့သည် ဖိစီးမှုစမ်းသပ်သည့်နေရာများအတွက် Siege ကိုတပ်ဆင်ပြီး ပြန်လည်ပြသမှုများ၊ circuit breaker နှင့် pool ejection တို့ကို အသုံးပြု၍ backend အမှားခံနိုင်ရည်ရှိစေရန် မည်ကဲ့သို့ပြုလုပ်ရမည်ကို လေ့လာပါ။
အစပြု

Egress နှင့် Istio
10 မိနစ်
ကျွန်ုပ်တို့သည် ပြင်ပ API များနှင့် ဝန်ဆောင်မှုများနှင့် အတွင်းဝန်ဆောင်မှုများ၏ အပြန်အလှန်ဆက်ဆံရေးအတွက် စည်းမျဉ်းများဖန်တီးရန် Egress လမ်းကြောင်းများကို အသုံးပြုပါသည်။
အစပြု

Istio နှင့် Kiali
15 မိနစ်
ဝန်ဆောင်မှု mesh ၏ ခြုံငုံသုံးသပ်ချက်ကို ရယူရန်နှင့် တောင်းဆိုချက်နှင့် ဒေတာစီးဆင်းမှုများကို ရှာဖွေရန် Kiali ကို အသုံးပြုရန် လေ့လာပါ။
အစပြု

Istio ရှိ အပြန်အလှန် TLS
15 မိနစ်
ကျွန်ုပ်တို့သည် Istio Gateway နှင့် VirtualService ကိုဖန်တီးပြီးနောက် အပြန်အလှန် TLS (mTLS) နှင့် ၎င်း၏ဆက်တင်များကို အသေးစိတ်လေ့လာပါသည်။
အစပြု

Block 3.1 - Deep Dive- Microservices အတွက် Istio Service Mesh

Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ
စာအုပ်အကြောင်းက ဘာလဲ။

  • ဝန်ဆောင်မှုကွက်ဆိုတာ ဘာလဲ။
  • Istio စနစ်နှင့် microservice ဗိသုကာတွင်၎င်း၏အခန်းကဏ္ဍ။
  • အောက်ပါပြဿနာများကိုဖြေရှင်းရန် Istio ကိုအသုံးပြုခြင်း။
    • အမှားခံနိုင်ရည်;
    • လမ်းကြောင်းပေးခြင်း၊
    • ပရမ်းပတာစမ်းသပ်ခြင်း;
    • လုံခြုံရေး;
    • ခြေရာများ၊ မက်ထရစ်များနှင့် Grafana ကိုအသုံးပြု၍ Telemetry စုဆောင်းခြင်း။

စာအုပ်တစ်အုပ်ဒေါင်းရန်

ဝန်ဆောင်မှု meshes နှင့် Istio ဆိုင်ရာ ဆောင်းပါးများ

ကိုယ်တိုင်ကြိုးစားပါ

ဤစီးရီးများ၏ ပို့စ်များသည် Istio ၏ ကမ္ဘာသို့ နက်နဲစွာ ထိုးဆင်းသွားစေရန် ရည်ရွယ်ခြင်းမဟုတ်ပါ။ ကျွန်ုပ်တို့သည် သင့်အား အယူအဆနှင့် မိတ်ဆက်ပေးလိုပြီး Istio ကို သင်ကိုယ်တိုင် စမ်းသုံးကြည့်ရန် သင့်အား လှုံ့ဆော်ပေးနိုင်ပါသည်။ ၎င်းသည် လုပ်ဆောင်ရန် လုံးဝအခမဲ့ဖြစ်ပြီး Red Hat သည် OpenShift၊ Kubernetes၊ Linux containers နှင့် Istio အပါအဝင် သင်စတင်ရန်လိုအပ်သည့်ကိရိယာအားလုံးကို ပံ့ပိုးပေးသည်- Red Hat Developer OpenShift Container Platform, ကျွန်ုပ်တို့၏ Istio လမ်းညွှန် နှင့် အခြားအရင်းအမြစ်များ Service Mesh တွင် microsite. မနှောင့်နှေးပါနှင့်၊ ယနေ့စတင်ပါ။

Istio လမ်းကြောင်းသတ်မှတ်ခြင်းစည်းမျဉ်းများ- ဝန်ဆောင်မှုတောင်းဆိုမှုများကို ၎င်းတို့သွားရန်လိုအပ်သည့်နေရာကို ညွှန်ကြားခြင်း။

openshift и Kubernetes ကိုင်တွယ်ဖြေရှင်းခြင်း၏ အကောင်းဆုံးအလုပ်ကို လုပ်ပါ။ မိုက်ခရိုဝန်ဆောင်မှုများ လိုအပ်သော အစေ့များဆီသို့ ပို့ဆောင်ပေးသည်။ ဤသည်မှာ Kubernetes တည်ရှိခြင်း၏ အကြောင်းအရင်းများထဲမှ တစ်ခုဖြစ်သည် - လမ်းကြောင်းသတ်မှတ်ခြင်းနှင့် ဝန်ချိန်ညှိခြင်း ဒါပေမယ့် ပိုသိမ်မွေ့ပြီး ဆန်းပြားတဲ့ လမ်းကြောင်းကို လိုအပ်ရင်ကော။ ဥပမာအားဖြင့်၊ microservice ဗားရှင်းနှစ်ခုကို တစ်ပြိုင်နက် အသုံးပြုရန်။ Istio လမ်းကြောင်းစည်းကမ်းများသည် ဤနေရာတွင် မည်သို့ကူညီနိုင်သနည်း။

Routing rules များသည် လမ်းကြောင်းရွေးချယ်မှုကို အမှန်တကယ် ဆုံးဖြတ်ပေးသော စည်းမျဉ်းများဖြစ်သည်။ စနစ်ရှုပ်ထွေးမှုအဆင့် မည်သို့ပင်ရှိစေကာမူ၊ ဤစည်းမျဉ်းများ၏ ယေဘူယျလုပ်ဆောင်မှုနိယာမသည် ရိုးရှင်းပါသည်- တောင်းဆိုချက်များကို အချို့သော ကန့်သတ်ဘောင်များနှင့် HTTP ခေါင်းစီးတန်ဖိုးများပေါ်တွင် အခြေခံ၍ လမ်းကြောင်းပြောင်းထားသည်။
ဥပမာတွေကို ကြည့်ရအောင်။

Kubernetes မူရင်း- အသေးအဖွဲ "50/50"

ကျွန်ုပ်တို့၏ဥပမာတွင်၊ OpenShift တွင် microservice ဗားရှင်းနှစ်ခုကို တစ်ပြိုင်နက်အသုံးပြုနည်းကို ပြသမည်ဖြစ်ပြီး ၎င်းတို့ကို v1 နှင့် v2 ဟုခေါ်ဆိုကြပါစို့။ ဗားရှင်းတစ်ခုစီသည် ၎င်း၏ကိုယ်ပိုင် Kubernetes ပေါ့ဒ်တွင် လုပ်ဆောင်ပြီး ပုံမှန်အားဖြင့် ၎င်းသည် အညီအမျှ မျှတသော လှည့်ပတ်လမ်းကြောင်းကို လုပ်ဆောင်သည်။ pod တစ်ခုစီသည် ၎င်း၏ microservice instances အရေအတွက်အပေါ်အခြေခံ၍ ၎င်း၏တောင်းဆိုမှုဝေစုကို လက်ခံရရှိသည်၊ တစ်နည်းအားဖြင့်၊ ပုံတူများဖြစ်သည်။ Istio သည် ဤလက်ကျန်ငွေကို ကိုယ်တိုင်ပြောင်းလဲနိုင်စေပါသည်။

OpenShift၊ recommendation-v1 နှင့် recommendation-v2 တွင် ကျွန်ုပ်တို့၏အကြံပြုချက်ဝန်ဆောင်မှုဗားရှင်းနှစ်မျိုးကို အသုံးပြုထားသည်ဟုဆိုကြပါစို့။
ပုံတွင်။ ပုံ 1 သည် ဝန်ဆောင်မှုတစ်ခုစီကို ဖြစ်ရပ်တစ်ခုတွင် ကိုယ်စားပြုသောအခါ၊ တောင်းဆိုချက်များသည် ၎င်းတို့ကြားတွင် အညီအမျှ အလှည့်အပြောင်းဖြစ်သည်- 1-2-1-2-... ဤသည်မှာ Kubernetes လမ်းကြောင်းကို မူရင်းအတိုင်း လုပ်ဆောင်ပုံဖြစ်သည်-

Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ

ဗားရှင်းများကြားတွင် အလေးချိန်ခွဲဝေမှု

ပုံတွင်။ ပုံ 2 သည် v2 ဝန်ဆောင်မှုပုံတူများ အရေအတွက်ကို တစ်ခုမှ နှစ်ခုသို့ တိုးမြှင့်ပါက (၎င်းကို oc scale —replicas=2 deployment/recommendation-v2 command ဖြင့် လုပ်ဆောင်သည်)။ သင်တွေ့မြင်ရသည့်အတိုင်း၊ v1 နှင့် v2 အကြား တောင်းဆိုမှုများကို ယခု 1-2-2-1-2-2-...:

Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ

Istio ကို အသုံးပြု၍ ဗားရှင်းကို လျစ်လျူရှုပါ။

Istio သည် ကျွန်ုပ်တို့လိုအပ်သည့်ပုံစံဖြင့် တောင်းဆိုမှုများကို ဖြန့်ဖြူးမှုကို ပြောင်းလဲရန် လွယ်ကူစေသည်။ ဥပမာအားဖြင့်၊ အောက်ပါ Istio yaml ဖိုင်ကို အသုံးပြု၍ အသွားအလာအားလုံးကို ထောက်ခံချက်-v1 သို့သာ ပို့ပါ-

Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ

ဤတွင်သင်အာရုံစိုက်ရန်လိုအပ်သည်- အစေ့များကိုတံဆိပ်များအလိုက်ရွေးချယ်သည်။ ကျွန်ုပ်တို့၏ဥပမာသည် label v1 ကိုအသုံးပြုသည်။ "အလေးချိန်- 100" ကန့်သတ်ချက်သည် အသွားအလာ၏ 100% သည် v1 အညွှန်းပါရှိသော ဝန်ဆောင်မှု pods အားလုံးထံ လမ်းကြောင်းပြောင်းသွားမည်ဖြစ်ကြောင်း ဆိုလိုသည်။

ဗားရှင်းများအကြား ညွှန်ကြားချက်ဖြန့်ဝေခြင်း (Canary Deployment)

ထို့နောက်၊ အလေးချိန် ကန့်သတ်ဘောင်ကို အသုံးပြု၍ ၎င်းတို့တစ်ခုစီတွင် လုပ်ဆောင်နေသော microservice instances အရေအတွက်ကို လျစ်လျူရှုကာ pods နှစ်ခုစလုံးသို့ လမ်းကြောင်းကို ညွှန်ပြနိုင်သည်။ ဥပမာအားဖြင့်၊ ဤနေရာတွင် ကျွန်ုပ်တို့သည် အသွားအလာ၏ 90% ကို v1 သို့ 10% v2 သို့ ညွှန်ကြားသည်-

Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ

မိုဘိုင်းအသုံးပြုသူများအတွက် သီးခြားလမ်းကြောင်း

နိဂုံးချုပ်အနေဖြင့်၊ ကျွန်ုပ်တို့သည် မိုဘိုင်းအသုံးပြုသူအသွားအလာကို ဝန်ဆောင်မှု v2 သို့ လမ်းကြောင်းပြောင်းရန်နှင့် အခြားလူတိုင်း v1 သို့ မည်သို့တွန်းအားပေးရမည်ကို ပြသပါမည်။ ထိုသို့လုပ်ဆောင်ရန်၊ တောင်းဆိုချက်ခေါင်းစီးရှိ သုံးစွဲသူ-အေးဂျင့်တန်ဖိုးကို ခွဲခြမ်းစိတ်ဖြာရန် ပုံမှန်အသုံးအနှုန်းများကို အသုံးပြုသည်-

Istio Service Mesh တွင် ဆက်တိုက်တင်ထားသော ပို့စ်များ

အခု မင်းအလှည့်ရောက်ပြီ။

ခွဲခြမ်းစိတ်ဖြာမှုအတွက် ပုံမှန်အသုံးအနှုန်းများပါသည့် ဥပမာသည် Istio လမ်းကြောင်းသတ်မှတ်ခြင်းစည်းမျဉ်းများကို သင့်ကိုယ်ပိုင်အသုံးပြုမှုများကို ရှာဖွေရန် သင့်ကို လှုံ့ဆော်ပေးသင့်သည်။ ထို့အပြင်၊ ဤတွင်ဖြစ်နိုင်ချေများသည် အလွန်ကျယ်ပြန့်သည်၊ အဘယ်ကြောင့်ဆိုသော် ခေါင်းစီးတန်ဖိုးများကို အပလီကေးရှင်းအရင်းအမြစ်ကုဒ်တွင် ဖွဲ့စည်းနိုင်သည်။

၎င်းသည် Ops၊ Dev မဟုတ်ပါ။

အထက်ဖော်ပြပါ ဥပမာများတွင် ကျွန်ုပ်တို့ပြသထားသည့်အရာအားလုံးကို အရင်းအမြစ်ကုဒ်တွင် အနည်းငယ်ပြောင်းလဲမှုမရှိဘဲ အထူးတောင်းဆိုချက်ခေါင်းစီးများကို ထုတ်လုပ်ရန် လိုအပ်သည့်အခါတွင် အဆိုပါကိစ္စများမှလွဲ၍ ကောင်းမွန်ပါသည်။ Istio သည် စမ်းသပ်ဆဲအဆင့်တွင် ၎င်းကို အသုံးပြုနိုင်မည့် developer များအတွက် နှင့် IT စနစ်များ၏ လည်ပတ်မှုဆိုင်ရာ ကျွမ်းကျင်သူများအတွက် အသုံးဝင်မည်ဖြစ်ပြီး၊ ၎င်းသည် ထုတ်လုပ်မှုတွင် များစွာအထောက်အကူဖြစ်စေပါသည်။

ထို့ကြောင့် ဤစီးရီး၏ ပို့စ်များ၏ အဓိပ္ပါယ်ကို ပြန်ဆိုကြပါစို့။ သင့်ကုဒ်တွင် မည်သည့်အရာကိုမျှ ပြောင်းလဲရန် မလိုအပ်ပါ။. ပုံအသစ်များတည်ဆောက်ရန် သို့မဟုတ် ကွန်တိန်နာအသစ်များကို ဖွင့်ရန်မလိုအပ်ပါ။ ဤအရာအားလုံးကို ကုဒ်အပြင်ဘက်တွင် လုပ်ဆောင်သည်။

သင့်စိတ်ကူးကို အသုံးပြုပါ။

ပုံမှန်အသုံးအနှုန်းများကို အသုံးပြု၍ ခေါင်းစီးခွဲခြမ်းစိတ်ဖြာခြင်း၏ ဖြစ်နိုင်ချေများကို စိတ်ကူးကြည့်ပါ။ သင်၏ အကြီးဆုံးဖောက်သည်အား သင်၏ အထူးဗားရှင်းသို့ ပြန်ညွှန်းလိုပါသည်။ မိုက်ခရိုဝန်ဆောင်မှုများ? လွယ်ပါတယ်! Chrome ဘရောက်ဆာအတွက် သီးခြားဗားရှင်းတစ်ခု လိုအပ်ပါသလား။ ပြဿနာမရှိပါဘူး! မည်သည့် လက္ခဏာရပ်မဆို လမ်းကြောင်းအတိုင်း သွားလာနိုင်သည်။

ကိုယ်တိုင်ကြိုးစားပါ

Istio၊ Kubernetes နှင့် OpenShift အကြောင်းဖတ်ခြင်းသည် တစ်ချက်ဖြစ်သော်လည်း အဘယ်ကြောင့် အရာအားလုံးကို ကိုယ်တိုင်မထိပါသနည်း။ အသင်းအဖွဲ့ Red Hat Developer ပရိုဂရမ် ဤနည်းပညာများကို တတ်နိုင်သမျှ မြန်နိုင်သမျှ ကျွမ်းကျင်အောင် ကူညီပေးမည့် အသေးစိတ်လမ်းညွှန်ချက် (အင်္ဂလိပ်လို) ပြင်ဆင်ထားပါသည်။ လက်စွဲစာအုပ်သည် 100% open source ဖြစ်ပြီး၊ ထို့ကြောင့် ၎င်းကို public domain တွင် တင်ထားသည်။ ဖိုင်သည် macOS၊ Linux နှင့် Windows တွင်အလုပ်လုပ်ပြီး အရင်းအမြစ်ကုဒ်ကို Java နှင့် node.js ဗားရှင်းများတွင် ရနိုင်သည် (မကြာမီလာမည့် အခြားဘာသာစကားများအတွက် ဗားရှင်းများ)။ သင့်ဘရောက်ဆာတွင် သက်ဆိုင်ရာ git repository ကိုဖွင့်ပါ။ Red Hat Developer Demo.

နောက်ပို့စ်တွင်၊ ကျွန်ုပ်တို့သည် ပြဿနာများကို လှပစွာဖြေရှင်းသည်။

Istio လမ်းကြောင်းသတ်မှတ်ခြင်းစည်းမျဉ်းများလုပ်ဆောင်နိုင်သည်ကိုယနေ့သင်တွေ့ခဲ့သည်။ ယခု တူညီသောအရာကို စိတ်ကူးကြည့်ပါ၊ သို့သော် အမှားအယွင်း ကိုင်တွယ်မှုနှင့် ဆက်စပ်နေသည်။ ဒါက နောက် post မှာ ပြောမယ့် အကြောင်းအရာ အတိအကျပါ။

source: www.habr.com

မှတ်ချက် Add