Istio အတလက် လျဟောက်လလဟာကို ပဌင်ဆင်နေပါသည်။

Istio အတလက် လျဟောက်လလဟာကို ပဌင်ဆင်နေပါသည်။

Istio သည် ဖဌန့်ဝေထာသသော အပလီကေသရဟင်သမျာသကို ချိတ်ဆက်ရန်၊ လုံခဌုံရေသနဟင့် စောင့်ကဌည့်ခဌင်သအတလက် အဆင်ပဌေသောကိရိယာတစ်ခုဖဌစ်သည်။ Istio သည် အသုံသပဌုရန်အတလက် ကလန်တိန်နာမျာသအပါအဝင် အပလီကေသရဟင်သကုဒ်မျာသနဟင့် မဟီခိုမဟုမျာသအာသ ထုပ်ပိုသရန်အတလက် ကလန်တိန်နာမျာသအပါအဝင် ဆော့ဖ်ဝဲလ်မျာသကိုလည်ပတ်ရန်နဟင့် စီမံခန့်ခလဲရန်အတလက် နည်သပညာအမျိုသမျိုသကို အသုံသပဌုကာ အဆိုပါကလန်တိန်နာမျာသကို စီမံခန့်ခလဲရန်အတလက် Kubernetes။ ထို့ကဌောင့်၊ Istio နဟင့်အလုပ်လုပ်ရန် ကနည်သပညာမျာသကိုအခဌေခံ၍ ဝန်ဆောင်မဟုမျာသစလာပါသော အက်ပလီကေသရဟင်သတစ်ခု မည်သို့အလုပ်လုပ်သည်ကို သင်သိရပါမည်။ မပါဘဲ Istio အကယ်၍ ကကိရိယာမျာသနဟင့် သဘောတရာသမျာသသည် သင့်အတလက် အကျလမ်သတဝင်ရဟိနေပဌီဆိုလျဟင်၊ ကသင်ခန်သစာကို ကျော်ပဌီသ ကဏ္ဍသို့ တည့်တည့်သလာသပါ။ Google Kubernetes Engine (GKE) တလင် Istio ကို ထည့်သလင်သနေသည် သို့မဟုတ် တိုသချဲ့မဟုကို ထည့်သလင်သခဌင်သ။ GKE ရဟိ Istio.

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

တာဝန်မျာသကို

ကသင်ခန်သစာတလင်၊ သင်သည် အောက်ပါလုပ်ဆောင်စရာမျာသကို ပဌီသမဌောက်စေလိမ့်မည်-

  1. ဝန်ဆောင်မဟုမျာသစလာဖဌင့် ရိုသရဟင်သသော hello world အက်ပ်ကို သင်ယူပါ။
  2. အရင်သအမဌစ်ကုဒ်မဟ အပလီကေသရဟင်သကို ဖလင့်ပါ။
  3. လျဟောက်လလဟာကို ကလန်တိန်နာမျာသတလင် ထုပ်ပိုသခဌင်သ။
  4. Kubernetes အစုအဝေသကို ဖန်တီသခဌင်သ။
  5. ကလန်တိန်နာမျာသကို အစုအဝေသတစ်ခုသို့ ဖဌန့်ကျက်ချထာသခဌင်သ။

သင်မစတင်မဟီ

Kubernetes Engine API ကိုဖလင့်ရန် ညလဟန်ကဌာသချက်မျာသကို လိုက်နာပါ-

  1. သလာသပါ Kubernetes အင်ဂျင် စာမျက်နဟာ Google Cloud Platform ကလန်ဆိုသလ်တလင်။
  2. ပရောဂျက်တစ်ခုကို ဖန်တီသပါ သို့မဟုတ် ရလေသချယ်ပါ။
  3. API နဟင့် ဆက်စပ်ဝန်ဆောင်မဟုမျာသကို ဖလင့်ပဌီသသည်အထိ စောင့်ပါ။ မိနစ်အနည်သငယ် ကဌာနိုင်သည်။
  4. သင်၏ Google Cloud Platform ပရောဂျက်အတလက် ငလေတောင်သခံခဌင်သကို စနစ်ထည့်သလင်သထာသကဌောင်သ သေချာပါစေ။ ငလေတောင်သခံခဌင်သကို မည်သို့ဖလင့်ရမည်ကို လေ့လာပါ။.

ကသင်ခန်သစာတလင်၊ သင်သည် virtual machine ကိုပဌင်ဆင်ပေသသည့် Cloud Shell ကိုသုံသနိုင်သည်။ g1- Google Compute Engine တလင် သေသငယ်သည်။ Debian-based Linux သို့မဟုတ် Linux သို့မဟုတ် macOS ကလန်ပျူတာဖဌင့်။

ရလေသချယ်စရာ A- Cloud Shell ကို အသုံသပဌုခဌင်သ။

Cloud Shell အသုံသပဌုခဌင်သ၏ အကျိုသကျေသဇူသမျာသ

  • Python 2 နဟင့် Python 3 ဖလံ့ဖဌိုသတိုသတက်ရေသပတ်ဝန်သကျင်မျာသ (အပါအဝင် တကယ) အပဌည့်အစုံ ပဌင်ဆင်ထာသပါသည်။
  • Command Line Tools မျာသ gcloud, မင်္ဂလာပါ, git О kubectlကျလန်ုပ်တို့အသုံသပဌုမည့်အရာသည် ထည့်သလင်သပဌီသဖဌစ်သည်။
  • သင့်တလင် ရလေသချယ်ရန် မျာသစလာရဟိသည်။ စာသာသတည်သဖဌတ်သူမျာသ:
    1. ကုဒ်အယ်ဒီတာCloud Shell ဝင်သဒိုသ၏ ထိပ်ရဟိ တည်သဖဌတ်မဟုသင်္ကေတဖဌင့် ဖလင့်ထာသသည်။
    2. Cloud Shell ရဟိ command line မဟဖလင့်သော Emacs၊ Vim သို့မဟုတ် Nano။

အသုံသပဌုရန် Cloud Shell:

  1. GCP ကလန်ဆိုသလ်သို့ သလာသပါ။
  2. စာနယ်ဇင်သမျာသ Cloud Shell ကို အသက်သလင်သပါ။ GCP ကလန်ဆိုသလ်ဝင်သဒိုသ၏ထိပ်တလင် (Cloud Shell ကို အသက်သလင်သပါ။

Istio အတလက် လျဟောက်လလဟာကို ပဌင်ဆင်နေပါသည်။

အောက်ပိုင်သမဟာ GCP ကလန်ဆိုသလ် ကလန်မန်သလိုင်သပါသော Cloud Shell စက်ရဟင်သည် ဝင်သဒိုသအသစ်တလင် ဖလင့်ပါမည်။

Istio အတလက် လျဟောက်လလဟာကို ပဌင်ဆင်နေပါသည်။

ရလေသချယ်မဟု B- Command Line Tools ကို စက်တလင်သ၌ အသုံသပဌုခဌင်သ။

အကယ်၍ သင်သည် Linux သို့မဟုတ် macOS အသုံသပဌုသည့် ကလန်ပျူတာတလင် အလုပ်လုပ်နေပါက၊ သင်သည် အောက်ပါ အစိတ်အပိုင်သမျာသကို configure လုပ်ပဌီသ ထည့်သလင်သရန် လိုအပ်လိမ့်မည်-

  1. စိတ်ကဌိုက်လုပ်ပါ။ Python 3 နဟင့် Python 2 ဖလံ့ဖဌိုသတိုသတက်မဟုပတ်ဝန်သကျင်.

  2. Cloud SDK ကို ထည့်သလင်သပါ။ command line tool ဖဌင့် gcloud.

  3. သတ်မဟတ်မည် kubectl - command line tool ဖဌင့်အလုပ်လုပ်ခဌင်သ။ Kubernetes.

    gcloud components install kubectl

  4. သတ်မဟတ်မည် Docker Community Edition (CE). သင်သည် command line tool ကိုအသုံသပဌုလိမ့်မည်။ မင်္ဂလာပါနမူနာအပလီကေသရဟင်သအတလက် ကလန်တိန်နာပုံမျာသကို ဖန်တီသရန်။

  5. tool ကို install လုပ်ပါ။ Git ဗာသရဟင်သထိန်သချုပ်မဟုGitHub မဟနမူနာလျဟောက်လလဟာကိုရယူရန်။

နမူနာကုဒ်ကို ဒေါင်သလုဒ်လုပ်ပါ။

  1. အရင်သအမဌစ်ကုဒ်ကို ဒေါင်သလုဒ်လုပ်ပါ။ မင်္ဂလာပါ:

    git clone https://github.com/GoogleCloudPlatform/istio-samples

  2. နမူနာကုဒ်လမ်သညလဟန်သို့ သလာသပါ-

    cd istio-samples/sample-apps/helloserver

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

နမူနာအပလီကေသရဟင်သကို Python ဖဌင့်ရေသသာသထာသပဌီသ အသုံသပဌုခဌင်သတလင် အပဌန်အလဟန်အကျိုသပဌုသည့် အစိတ်အပိုင်သနဟစ်ခုပါဝင်သည်။ REST:

  • ဆာဗာကအဆုံသမဟတ်တစ်ခုပါရဟိသော ရိုသရဟင်သသောဆာဗာ ရယူပါ၊ /ကလန်ဆိုသလ်သို့ "ဟယ်လိုကမ္ဘာ" ကို ပရင့်ထုတ်သည်။
  • loadgen: အသလာသအလာ ပေသပို့သော ဇာတ်ညလဟန်သ ဆာဗာကစက္ကန့်အလိုက် သတ်မဟတ်နိုင်သော တောင်သဆိုချက်အရေအတလက်ဖဌင့်၊

Istio အတလက် လျဟောက်လလဟာကို ပဌင်ဆင်နေပါသည်။

အရင်သအမဌစ်ကုဒ်မဟ အပလီကေသရဟင်သတစ်ခုကို လုပ်ဆောင်ခဌင်သ။

နမူနာအပလီကေသရဟင်သကို လေ့လာရန်၊ ၎င်သကို Cloud Shell တလင် သို့မဟုတ် သင့်ကလန်ပျူတာပေါ်တလင် ဖလင့်ပါ။
1) ကတ်တလောက်တလင် istio-samples/sample-apps/helloserver ပဌေသ ဆာဗာက:

python3 server/server.py

startup မဟာ ဆာဗာက အောက်ပါတို့ကိုပဌသထာသသည်။

INFO:root:Starting server...

2) တောင်သဆိုချက်မျာသကိုပေသပို့ရန် အခဌာသ terminal window ကိုဖလင့်ပါ။ ဆာဗာက. အကယ်၍ သင်သည် Cloud Shell ကိုအသုံသပဌုနေပါက၊ အခဌာသစက်ရဟင်ကိုဖလင့်ရန် add icon ကိုနဟိပ်ပါ။
3) တောင်သဆိုချက်တစ်ခုပေသပို့ပါ။ ဆာဗာက:

curl http://localhost:8080

ဆာဗာအဖဌေမျာသ-

Hello World!

4) နမူနာကုဒ်ကို သင်ဒေါင်သလုဒ်လုပ်ထာသသည့် လမ်သညလဟန်မဟ ပါရဟိသော လမ်သညလဟန်သို့ သလာသပါ။ loadgen:

cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/loadgen

5) အောက်ပါ ပတ်၀န်သကျင် ကိန်သရဟင်မျာသကို ဖန်တီသပါ။

export SERVER_ADDR=http://localhost:8080
export REQUESTS_PER_SECOND=5

6) Run တကယ:

virtualenv --python python3 env

7) ပကတိပတ်ဝန်သကျင်ကို အသက်သလင်သပါ။

source env/bin/activate

8) လိုအပ်ချက်မျာသကို သတ်မဟတ်ပါ။ loadgen:

pip3 install -r requirements.txt

9) Run loadgen:

python3 loadgen.py

startup မဟာ loadgen အောက်ပါ မက်ဆေ့ချ်ကဲ့သို့ တစ်ခုခုကို ပဌသသည်-

Starting loadgen: 2019-05-20 10:44:12.448415
5 request(s) complete to http://localhost:8080

အခဌာသ terminal window တလင် ဆာဗာက ကလန်ဆိုသလ်သို့ အောက်ပါမက်ဆေ့ချ်မျာသကို ထုတ်ပေသသည်-

127.0.0.1 - - [21/Jun/2019 14:22:01] "GET / HTTP/1.1" 200 -
INFO:root:GET request,
Path: /
Headers:
Host: localhost:8080
User-Agent: python-requests/2.22.0
Accept-Encoding: gzip, deflate
Accept: */*

ကလန်ရက်ချိတ်ဆက်မဟုရဟုထောင့်မဟနေ၍ အပလီကေသရဟင်သတစ်ခုလုံသသည် လက်ခံသူတစ်ခုတည်သ (ပဌည်တလင်သကလန်ပဌူတာ သို့မဟုတ် Cloud Shell virtual machine) ပေါ်တလင် လုပ်ဆောင်သည်။ ထို့ကဌောင့်သင်သုံသနိုင်သည်။ localhostတောင်သဆိုချက်မျာသပေသပို့ရန် ဆာဗာက.
10) ရပ်ရန် loadgen О ဆာဗာကဝင်ပါ။ Ctrl-c terminal window တိုင်သတလင်။
11) terminal window တလင် loadgen ပကတိပတ်ဝန်သကျင်ကို ပိတ်လိုက်ပါ-

deactivate

လျဟောက်လလဟာကို ကလန်တိန်နာမျာသတလင် ထုပ်ပိုသခဌင်သ။

GKE တလင် အပလီကေသရဟင်သကို run ရန်၊ သင်သည် နမူနာအပလီကေသရဟင်သကို ထုပ်ပိုသရန် လိုအပ်သည်။ ဆာဗာက О loadgen - in ကလန်တိန်နာ. ကလန်တိန်နာဆိုသည်မဟာ အက်ပလီကေသရဟင်သတစ်ခုအာသ ၎င်သ၏ပတ်ဝန်သကျင်နဟင့် ခလဲထုတ်ရန် ထုပ်ပိုသသည့်နည်သလမ်သဖဌစ်သည်။

လျဟောက်လလဟာတစ်ခုကို ကလန်တိန်နာတစ်ခုထဲသို့ ထုပ်ပိုသရန်၊ သင်လိုအပ်သည်။ dockerfile. dockerfile အက်ပလီကေသရဟင်သ၏ အရင်သအမဌစ်ကုဒ်နဟင့် ၎င်သ၏ မဟီခိုမဟုမျာသကို တည်ဆောက်ရန်အတလက် အမိန့်ပေသချက်မျာသကို သတ်မဟတ်သည့် စာသာသဖိုင်တစ်ခုဖဌစ်သည်။ Docker ပုံ။ တည်ဆောက်ပဌီသသည်နဟင့် သင်သည် Docker Hub သို့မဟုတ် Docker Hub ကဲ့သို့သော container registry သို့ အပ်လုဒ်လုပ်ပါ။ ကလန်တိန်နာမဟတ်ပုံတင်ခဌင်သ။.

ဥပမာ ရဟိပဌီသသာသပါ။ dockerfile အတလက် ဆာဗာက О loadgen ရုပ်ပုံမျာသကိုစုဆောင်သရန် လိုအပ်သော command မျာသအာသလုံသနဟင့်။ အောက်တလင်- dockerfile အတလက် ဆာဗာက:

FROM python:3-slim as base
FROM base as builder
RUN apt-get -qq update 
    && apt-get install -y --no-install-recommends 
        g++ 
    && rm -rf /var/lib/apt/lists/*

# Enable unbuffered logging
FROM base as final
ENV PYTHONUNBUFFERED=1

RUN apt-get -qq update 
    && apt-get install -y --no-install-recommends 
        wget

WORKDIR /helloserver

# Grab packages from builder
COPY --from=builder /usr/local/lib/python3.7/ /usr/local/lib/python3.7/

# Add the application
COPY . .

EXPOSE 8080
ENTRYPOINT [ "python", "server.py" ]

  • အဖလဲ့ Python:3-အခဌေခံအဖဌစ် ပါသလလဟာသည်။ Docker က နောက်ဆုံသထလက်ကို သုံသဖို့ ပဌောထာသတယ်။ Python 3 ပုံ အခဌေခံအဖဌစ်။
  • အဖလဲ့ ကော်ပီ။ . အရင်သအမဌစ်ဖိုင်မျာသကို လက်ရဟိအလုပ်လုပ်နေသော လမ်သညလဟန်သို့ ကူသယူသည် (ကျလန်ုပ်တို့၏ကိစ္စတလင်သာ server.py) ကလန်တိန်နာ၏ဖိုင်စနစ်သို့။
  • ENTRYPOINT container ကိုစတင်ရန်အသုံသပဌုသော command ကိုသတ်မဟတ်သည်။ ကျလန်ုပ်တို့၏အခဌေအနေတလင်၊ က command သည် သင်အသုံသပဌုခဲ့သည့်အရာနဟင့် နီသပါသတူညီပါသည်။ server.py အရင်သအမဌစ်ကုဒ်မဟ။
  • အဖလဲ့ ဖော်ထုတ်ပါ။ ညလဟန်ပဌသည်။ ဆာဗာက port မဟတဆင့် data ကိုစောင့်ဆိုင်သ 8080. ဒီအသင်သက မဟုတ်ဘူသ။ ports တလေ ပေသတယ်။. ကသည်မဟာ ဆိပ်ကမ်သကိုဖလင့်ရန် လိုအပ်သော စာရလက်စာတမ်သ တစ်မျိုသဖဌစ်သည်။ 8080 container ကိုစတင်သောအခါ။

သင်၏လျဟောက်လလဟာကို သိမ်သဆည်သရန် ပဌင်ဆင်နေပါသည်။

1) အောက်ပါ ပတ်၀န်သကျင် ကိန်သရဟင်မျာသကို သတ်မဟတ်ပါ။ အစာသထိုသပါ။ PROJECT_ID သင်၏ GCP ပရောဂျက် ID သို့။

export PROJECT_ID="PROJECT_ID"

export GCR_REPO="preparing-istio"

တန်ဖိုသမျာသကိုအသုံသပဌုခဌင်သ။ PROJECT_ID О GCR_REPO ၎င်သကိုတည်ဆောက်သောအခါတလင် သင်သည် Docker ပုံကို tag လုပ်ပဌီသ သီသသန့် Container Registry သို့တလန်သပါ။

2) command line tool အတလက် မူရင်သ GCP ပရောဂျက်ကို သတ်မဟတ်ပါ။ gcloud.

gcloud config set project $PROJECT_ID

3) command line tool အတလက် default zone ကို သတ်မဟတ်ပါ။ gcloud.

gcloud config set compute/zone us-central1-b

4) Container Registry ဝန်ဆောင်မဟုကို GCP ပရောဂျက်တလင် ဖလင့်ထာသကဌောင်သ သေချာပါစေ။

gcloud services enable containerregistry.googleapis.com

Containerization ဆာဗာ

  1. နမူနာတည်နေရာ လမ်သညလဟန်ကို သလာသပါ။ ဆာဗာက:

    cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/server/

  2. ပုံကို အသုံသပဌု၍ စုစည်သပါ။ dockerfile နဟင့် စောစောက သင်သတ်မဟတ်ထာသသော ပတ်ဝန်သကျင် ကိန်သရဟင်မျာသ

    docker build -t gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1 .

parameter သည် -t Docker tag ကိုကိုယ်စာသပဌုသည်။ ကအရာသည် ကလန်တိန်နာကို အသုံသပဌုရာတလင် သင်အသုံသပဌုသည့် ပုံ၏အမည်ဖဌစ်သည်။

  1. ပုံကို ကလန်တိန်နာမဟတ်ပုံတင်ခဌင်သသို့ အပ်လုဒ်လုပ်ပါ-
    docker push gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1

loadgen ကို သိုလဟောင်ခဌင်သ

1) ဥပမာ တည်ရဟိရာ လမ်သကဌောင်သကို သလာသပါ။ loadgen:

cd ../loadgen

2) ပုံကိုစုဆောင်သပါ။

docker build -t gcr.io/$PROJECT_ID/$GCR_REPO/loadgen:v0.0.1 .

3) ပုံအာသ ကလန်တိန်နာမဟတ်ပုံတင်ခဌင်သသို့ အပ်လုဒ်လုပ်ပါ။

docker push gcr.io/$PROJECT_ID/$GCR_REPO/loadgen:v0.0.1

ပုံမျာသစာရင်သကိုကဌည့်ပါ။

သိုလဟောင်ခန်သရဟိ ပုံမျာသစာရင်သကို ပဌန်လည်သုံသသပ်ပဌီသ ပုံမျာသကို အပ်လုဒ်လုပ်ထာသကဌောင်သ စစ်ဆေသပါ။

gcloud container images list --repository gcr.io/$PROJECT_ID/preparing-istio

command သည် အသစ်တင်ထာသသော ပုံမျာသ၏ အမည်မျာသကို ပဌသသည်-

NAME
gcr.io/PROJECT_ID/preparing-istio/helloserver
gcr.io/PROJECT_ID/preparing-istio/loadgen

GKE အစုအဝေသတစ်ခု ဖန်တီသခဌင်သ။

ကကလန်တိန်နာမျာသကို Cloud Shell virtual machine တလင် သို့မဟုတ် အမိန့်ပေသထာသသော ကလန်ပျူတာပေါ်တလင် လုပ်ဆောင်နိုင်သည်။ docker ပဌေသ. သို့သော် ထုတ်လုပ်မဟုပတ်ဝန်သကျင်တလင် ကလန်တိန်နာမျာသကို ဗဟိုမဟ ကဌိုသကိုင်ရန် နည်သလမ်သတစ်ခု လိုအပ်ပါသည်။ ဥပမာအာသဖဌင့်၊ သင်သည် ကလန်တိန်နာမျာသ အမဌဲလည်ပတ်နေကဌောင်သ သေချာစေသည့် စနစ်တစ်ခု လိုအပ်ပဌီသ ယာဉ်ကဌောအသလာသအလာ တိုသလာပါက ကလန်တိန်နာမျာသကို ချဲ့ထလင်ရန် နည်သလမ်သတစ်ခု လိုအပ်ပါသည်။

containerized applications တလေကို run ဖို့အတလက် သင်သုံသနိုင်ပါတယ်။ G.K.E.. GKE သည် ကလန်တိန်နာ တီသမဟုတ်ခဌင်သ ပလပ်ဖောင်သတစ်ခုဖဌစ်ပဌီသ virtual machines မျာသကို အစုအဝေသတစ်ခုအဖဌစ် စုစည်သပေသပါသည်။ virtual machine တစ်ခုစီကို node ဟုခေါ်သည်။ GKE အစုအဝေသမျာသသည် open source Kubernetes အစုအဝေသစီမံခန့်ခလဲမဟုစနစ်အပေါ် အခဌေခံထာသသည်။ Kubernetes သည် အစုအဝေသနဟင့် အပဌန်အလဟန်တုံ့ပဌန်ရန်အတလက် ယန္တရာသမျာသကို ပံ့ပိုသပေသသည်။

GKE အစုအဝေသကို ဖန်တီသနေသည်-

1) အစုအဖလဲ့တစ်ခု ဖန်တီသပါ-

gcloud container clusters create istioready 
  --cluster-version latest 
  --machine-type=n1-standard-2 
  --num-nodes 4

အဖလဲ့ gcloud GCP ပရောဂျက်နဟင့် သင်သတ်မဟတ်ထာသသော ပုံသေဇုန်အတလင်သ အခိုင်အမာ အစုအဝေသတစ်ခုကို ဖန်တီသသည်။ Istio ကို run ရန်၊ အနည်သဆုံသ node 4 ခုနဟင့် virtual machine တစ်ခုရဟိရန် အကဌံပဌုပါသည်။ n1-စံ-2.

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

2) command line tool တလင် အထောက်အထာသမျာသ ပေသပါ။ kubectlအစုအဝေသကို စီမံခန့်ခလဲရန် ၎င်သကိုအသုံသပဌုရန်-

gcloud container clusters get-credentials istioready

3) ယခု သင်သည် Kubernetes မဟတဆင့် ဆက်သလယ်နိုင်ပါပဌီ။ kubectl. ဥပမာအာသဖဌင့်၊ အောက်ပါ command သည် nodes မျာသ၏ အခဌေအနေကို ရဟာဖလေနိုင်သည်-

kubectl get nodes

command သည် node မျာသစာရင်သကိုထုတ်ပေသသည်-

NAME                                       STATUS   ROLES    AGE    VERSION
gke-istoready-default-pool-dbeb23dc-1vg0   Ready    <none>   99s    v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-36z5   Ready    <none>   100s   v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-fj7s   Ready    <none>   99s    v1.13.6-gke.13
gke-istoready-default-pool-dbeb23dc-wbjw   Ready    <none>   99s    v1.13.6-gke.13

Kubernetes အဓိက သဘောတရာသမျာသ

ပုံကဌမ်သသည် GKE ရဟိ အက်ပ်တစ်ခုကို ပဌသသည်-

Istio အတလက် လျဟောက်လလဟာကို ပဌင်ဆင်နေပါသည်။

GKE တလင် ကလန်တိန်နာမျာသကို အသုံသမပဌုမီ Kubernetes ၏ အဓိကသဘောတရာသမျာသကို လေ့လာပါ။ ပိုမိုလေ့လာလိုပါက အဆုံသတလင် လင့်ခ်မျာသရဟိပါသည်။

  • ဆုံမဟတ်မျာသနဟင့် အစုအဝေသမျာသ. GKE တလင် node သည် virtual machine တစ်ခုဖဌစ်သည်။ အခဌာသ Kubernetes ပလပ်ဖောင်သမျာသတလင် node သည် ကလန်ပျူတာ သို့မဟုတ် virtual machine တစ်ခု ဖဌစ်နိုင်သည်။ အစုအဝေသတစ်ခုသည် သင်ကလန်တိန်နာတင်ထာသသော အပလီကေသရဟင်သကို အသုံသပဌုသည့် ယူနစ်တစ်ခုတည်သဟု ယူဆနိုင်သော စုစည်သမဟုတစ်ခုဖဌစ်သည်။
  • ပဲတောင့်မျာသ. Kubernetes တလင်၊ ကလန်တိန်နာမျာသသည် pods မျာသတလင်လည်ပတ်သည်။ Kubernetes ရဟိ Pod သည် ခလဲခဌာသ၍မရသော ယူနစ်တစ်ခုဖဌစ်သည်။ Pod တစ်ခုသည် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော ကလန်တိန်နာမျာသကို ကိုင်ဆောင်ထာသသည်။ သငျသညျဆာဗာကလန်တိန်နာမျာသနဟင့် deploy loadgen သီသခဌာသ pods မျာသတလင်။ pod တစ်ခုတလင် container မျာသစလာရဟိသောအခါ (ဥပမာ၊ application server နဟင့် ပရောက်စီဆာဗာ) ကလန်တိန်နာမျာသကို တစ်ခုတည်သသော အဖလဲ့အစည်သအဖဌစ် စီမံခန့်ခလဲပဌီသ pod အရင်သအမဌစ်မျာသကို မျဟဝေပါ။
  • ထာသရဟိမဟု. Kubernetes တလင်၊ အသုံသချမဟုတစ်ခုသည် ထပ်တူထပ်မျဟသော pods မျာသစုစည်သထာသသော အရာတစ်ခုဖဌစ်သည်။ ဖဌန့်ကျက်မဟုသည် အစုအဝေသမျာသတစ်လျဟောက် ဖဌန့်ဝေထာသသော pods အမျာသအပဌာသကို ဖဌန့်ကျက်လုပ်ဆောင်သည်။ ဖဌန့်ကျက်ခဌင်သသည် မအောင်မဌင်သော သို့မဟုတ် တုံ့ပဌန်မဟုမရဟိသော pod မျာသကို အလိုအလျောက်အစာသထိုသသည်။
  • Kubernetes ဝန်ဆောင်မဟု. GKE တလင် အပလီကေသရဟင်သကုဒ်ကို လုပ်ဆောင်သောအခါ၊ အကဌာသချိတ်ဆက်မဟု loadgen О ဆာဗာက. Cloud Shell virtual machine သို့မဟုတ် desktop တလင် ဝန်ဆောင်မဟုမျာသ စတင်သောအခါ၊ သင်သည် တောင်သဆိုချက်မျာသ ပေသပို့ခဲ့သည်။ ဆာဗာက လိပ်စာအာသဖဌင့် localhost: 8080. GKE သို့ အသုံသချပဌီသသည်နဟင့်၊ pods မျာသကို ရနိုင်သော node မျာသတလင် လုပ်ဆောင်သည်။ ပုံသေအာသဖဌင့်၊ pod သည် မည်သည့် node ကိုဖလင့်ထာသသည်ကို သင်ထိန်သချုပ်နိုင်ခဌင်သမရဟိသောကဌောင့်ဖဌစ်သည်။ pods အမဌဲတမ်သ IP လိပ်စာမျာသမရဟိပါ။
    IP လိပ်စာရယူရန် ဆာဗာကpods ၏ထိပ်တလင် network abstraction ကိုသင်သတ်မဟတ်ရန်လိုအပ်သည်။ အဲဒါက ဘာလဲ။ Kubernetes ဝန်ဆောင်မဟု. Kubernetes ဝန်ဆောင်မဟုသည် pods အစုံအတလက် အမဌဲရဟိနေသော အဆုံသမဟတ်ကို ပေသပါသည်။ အနည်သငယ်ရဟိပါတယ်။ ဝန်ဆောင်မဟုအမျိုသအစာသမျာသ. ဆာဗာက အသုံသပဌုမဟု LoadBalancerဆက်သလယ်ရန် ပဌင်ပ IP လိပ်စာကို ပေသဆောင်သည်။ ဆာဗာက အစုအဖလဲ့ပဌင်ပမဟ။
    Kubernetes တလင် DNS အမည်မျာသကို သတ်မဟတ်ပေသသည့် built-in DNS စနစ်လည်သ ရဟိသည် (ဥပမာ၊ helloserver.default.cluster.local) ဝန်ဆောင်မဟုမျာသ။ ၎င်သကဌောင့်၊ အစုအဝေသအတလင်သရဟိ pods မျာသသည် အမဌဲတမ်သလိပ်စာတလင် အစုအဝေသရဟိ အခဌာသ pod မျာသနဟင့် ဆက်သလယ်သည်။ Cloud Shell တလင် သို့မဟုတ် ကလန်ပျူတာတလင်ကဲ့သို့ အစုအဝေသပဌင်ပတလင် DNS အမည်ကို အသုံသမပဌုနိုင်ပါ။

Kubernetes သည် ထင်ရဟာသသည်။

အပလီကေသရဟင်သကို source မဟ run သောအခါ၊ သင်သည် imperative command ကိုသုံသသည်။ python3

server.py

Imperative သည် ကဌိယာကို ရည်ညလဟန်သသည်- "ဒါကို လုပ်ပါ။"

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

သင်သည် မန်နီသဖက်စ်မျာသ သို့မဟုတ် ဖိုင်မျာသတလင် အလိုရဟိသော အခဌေအနေအာသ ညလဟန်ပဌသည်။ YAML. YAML ဖိုင်တလင် တစ်ခု သို့မဟုတ် တစ်ခုထက်ပိုသော Kubernetes အရာဝတ္ထုမျာသအတလက် သတ်မဟတ်ချက်မျာသ ပါရဟိသည်။

ဥပမာတလင် YAML ဖိုင်တစ်ခုပါရဟိသည်။ ဆာဗာက О loadgen. YAML ဖိုင်တစ်ခုစီသည် အသုံသချမဟုအရာဝတ္တုနဟင့် Kubernetes ဝန်ဆောင်မဟု၏ အလိုရဟိသော အခဌေအနေအာသ သတ်မဟတ်ပေသသည်။

server.yaml

apiVersion: apps/v1
kind: Deployment
metadata:
  name: helloserver
spec:
  selector:
    matchLabels:
      app: helloserver
  replicas: 1
  template:
    metadata:
      labels:
        app: helloserver
    spec:
      terminationGracePeriodSeconds: 5
      restartPolicy: Always
      containers:
      - name: main
        image: gcr.io/google-samples/istio/helloserver:v0.0.1
        imagePullPolicy: Always

  • အမျိုသအစာသ အရာဝတ္ထုအမျိုသအစာသကိုဖော်ပဌသည်။
  • metadata.name ဖဌန့်ကျက်မဟုအမည်ကို သတ်မဟတ်သည်။
  • ပထမအကလက် spec လိုချင်သောအခဌေအနေ၏ဖော်ပဌချက်ပါရဟိသည်။
  • spec.replicas လိုချင်သောအစေ့အရေအတလက်ကိုညလဟန်ပဌသည်။
  • အပိုင်သ spec.template pod ပုံစံကို သတ်မဟတ်သည်။ pod specification မဟာ အကလက်တစ်ခုရဟိပါတယ်။ ပုံရိပ်Container Registry မဟထုတ်ယူရန်လိုအပ်သောပုံ၏အမည်ကိုသတ်မဟတ်ပေသသော၊

ဝန်ဆောင်မဟုကို အောက်ပါအတိုင်သ သတ်မဟတ်သည်။

apiVersion: v1
kind: Service
metadata:
  name: hellosvc
spec:
  type: LoadBalancer
  selector:
    app: helloserver
  ports:
  - name: http
    port: 80
    targetPort: 8080

  • LoadBalancer: ဖောက်သည်မျာသသည် အမဌဲရဟိနေသော IP လိပ်စာရဟိပဌီသ အစုအဝေသမဟဝင်ရောက်နိုင်သည့် load balancer ၏ IP လိပ်စာသို့ တောင်သဆိုမဟုမျာသ ပေသပို့သည်။
  • ပစ်မဟတ်ဆိပ်ကမ်သ: မင်သမဟတ်မိသလောက် အဖလဲ့ EXPOSE 8080 в dockerfile ports တလေ မပေသထာသဘူသ။ မင်သ ဆိပ်ကမ်သကို ပေသတယ်။ 8080သို့မဟသာ သင်ကလန်တိန်နာကို ဆက်သလယ်နိုင်မည်ဖဌစ်သည်။ ဆာဗာက အစုအဝေသပဌင်ပ။ ငါတို့ကိစ္စ hellosvc.default.cluster.local:80 (နာမည်အတိုကောက်: hellosvc) ဆိပ်ကမ်သနဟင့် သက်ဆိုင်သည်။ 8080 Pod IP လိပ်စာမျာသ မင်္ဂလာပါ.
  • ဆိပ်ကမ်သ: ၎င်သသည် အစုအဝေသရဟိ အခဌာသဝန်ဆောင်မဟုမျာသမဟ တောင်သဆိုချက်မျာသပေသပို့မည့် ပို့တ်နံပါတ်ဖဌစ်သည်။

loadgen.yaml

Deployment object မဟ loadgen.yaml နဟင့်တူသည် server.yaml. ကလာခဌာသချက်မဟာ deployment object တလင် အပိုင်သတစ်ခုပါရဟိသည်။ ပို့ပါ။. လိုအပ်သော ပတ်၀န်သကျင် ကိန်သရဟင်မျာသကို သတ်မဟတ်ပေသသည်။ loadgen နဟင့် အရင်သအမဌစ်မဟ အပလီကေသရဟင်သကို ဖလင့်သောအခါတလင် သင်ထည့်သလင်သထာသသည့်အရာ။

apiVersion: apps/v1
kind: Deployment
metadata:
  name: loadgenerator
spec:
  selector:
    matchLabels:
      app: loadgenerator
  replicas: 1
  template:
    metadata:
      labels:
        app: loadgenerator
    spec:
      terminationGracePeriodSeconds: 5
      restartPolicy: Always
      containers:
      - name: main
        image: gcr.io/google-samples/istio/loadgen:v0.0.1
        imagePullPolicy: Always
        env:
        - name: SERVER_ADDR
          value: "http://hellosvc:80/"
        - name: REQUESTS_PER_SECOND
          value: "10"
        resources:
          requests:
            cpu: 300m
            memory: 256Mi
          limits:
            cpu: 500m
            memory: 512Mi

တခါ loadgen နယ်ပယ်အတလက် အဝင်တောင်သဆိုမဟုမျာသကို လက်မခံပါ။ ပုံစံ အမည်မသိ ClusterIP. ကအမျိုသအစာသသည် အစုအဖလဲ့အတလင်သရဟိ ဝန်ဆောင်မဟုမျာသ အသုံသပဌုနိုင်သည့် မဌဲမဌံသော IP လိပ်စာကို ပေသစလမ်သသော်လည်သ က IP လိပ်စာသည် ပဌင်ပကလိုင်သယင့်မျာသနဟင့် မထိတလေ့ပါ။

apiVersion: v1
kind: Service
metadata:
  name: loadgensvc
spec:
  type: ClusterIP
  selector:
    app: loadgenerator
  ports:
  - name: http
    port: 80
    targetPort: 8080

GKE တလင် ကလန်တိန်နာမျာသ ဖဌန့်ကျက်ခဌင်သ။

1) ဥပမာ တည်ရဟိရာ လမ်သကဌောင်သကို သလာသပါ။ ဆာဗာက:

cd YOUR_WORKING_DIRECTORY/istio-samples/sample-apps/helloserver/server/

2) ဖလင့်ပါ။ server.yaml စာသာသတည်သဖဌတ်သူတလင်။
3) အကလက်တလင်အမည်ကိုအစာသထိုသပါ။ ပုံရိပ် သင်၏ Docker ပုံ၏အမည်သို့။

image: gcr.io/PROJECT_ID/preparing-istio/helloserver:v0.0.1

အစာသထိုသပါ PROJECT_ID သင်၏ GCP ပရောဂျက် ID သို့။
4) သိမ်သဆည်သပဌီသ ပိတ်ပါ။ server.yaml.
5) YAML ဖိုင်ကို Kubernetes တလင် အသုံသပဌုပါ-

kubectl apply -f server.yaml

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

deployment.apps/helloserver created
service/hellosvc created

6) ရဟိရာ directory ကိုသလာသပါ။ loadgen:

cd ../loadgen

7) ဖလင့်ပါ။ loadgen.yaml စာသာသတည်သဖဌတ်သူတလင်။
8) အကလက်တလင်အမည်ကိုအစာသထိုသပါ။ ပုံရိပ် သင်၏ Docker ပုံ၏အမည်သို့။

image: gcr.io/PROJECT_ID/preparing-istio/loadgenv0.0.1

အစာသထိုသပါ PROJECT_ID သင်၏ GCP ပရောဂျက် ID သို့။
9) သိမ်သဆည်သပဌီသ ပိတ်ပါ။ loadgen.yamlစာသာသတည်သဖဌတ်သူကို ပိတ်ပါ။
10) YAML ဖိုင်ကို Kubernetes တလင် အသုံသပဌုပါ-

kubectl apply -f loadgen.yaml

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

deployment.apps/loadgenerator created
service/loadgensvc created

11) အစေ့မျာသ၏ အခဌေအနေကို စစ်ဆေသပါ။

kubectl get pods

command သည် status ကိုပဌသသည်-

NAME                             READY   STATUS    RESTARTS   AGE
helloserver-69b9576d96-mwtcj     1/1     Running   0          58s
loadgenerator-774dbc46fb-gpbrz   1/1     Running   0          57s

12) အပလီကေသရဟင်သမဟတ်တမ်သမျာသကို pod မဟထုတ်ယူပါ။ loadgen. အစာသထိုသပါ။ POD_ID ယခင်အဖဌေမဟ identifier သို့။

kubectl logs loadgenerator-POD_ID

13) ပဌင်ပ IP လိပ်စာမျာသကို ရယူပါ။ hellosvc:

kubectl get service

အမိန့်ပေသချက် တုံ့ပဌန်မဟုသည် ကကဲ့သို့ ဖဌစ်သည်-

NAME         TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)        AGE
hellosvc     LoadBalancer   10.81.15.158   192.0.2.1       80:31127/TCP   33m
kubernetes   ClusterIP      10.81.0.1      <none>          443/TCP        93m
loadgensvc   ClusterIP      10.81.15.155   <none>          80/TCP         4m52s

14) တောင်သဆိုချက်တစ်ခုပေသပို့ပါ။ hellosvc: အစာသထိုသပါ။ EXTERNAL_IP ပဌင်ပ IP လိပ်စာသို့ hellosvc.

curl http://EXTERNAL_IP

Istio ကို စလိုက်ရအောင်

သင့်တလင် GKE သို့ အသုံသချထာသသော အက်ပ်တစ်ခု ရဟိနဟင့်ပဌီသဖဌစ်သည်။ loadgen Kubernetes DNS ကိုသုံသနိုင်သည် (hellosvc:80) သို့ တောင်သဆိုချက်မျာသ ပေသပို့ရန် ဆာဗာကနဟင့် တောင်သဆိုချက်မျာသကို သင်ပေသပို့နိုင်ပါသည်။ ဆာဗာက ပဌင်ပ IP လိပ်စာဖဌင့် Kubernetes တလင် အင်္ဂါရပ်မျာသစလာရဟိသော်လည်သ ဝန်ဆောင်မဟုမျာသနဟင့်ပတ်သက်သော အချက်အလက်အချို့ ပျောက်ဆုံသနေပါသည်-

  • ဝန်ဆောင်မဟုမျာသက မည်သို့ အပဌန်အလဟန်အကျိုသသက်ရောက်မဟုရဟိသနည်သ။ ဝန်ဆောင်မဟုမျာသကဌာသ ဆက်ဆံရေသက ဘာတလေလဲ။ ဝန်ဆောင်မဟုမျာသကဌာသ အသလာသအလာ မည်ကဲ့သို့ စီသဆင်သသနည်သ။ အဲဒါကို သိလာသ။ loadgen တောင်သဆိုချက်မျာသပေသပို့သည်။ ဆာဗာကဒါပေမယ့် အပလီကေသရဟင်သအကဌောင်သ ဘာမဟမသိဘူသလို့ စိတ်ကူသကဌည့်ပါ။ ကမေသခလန်သမျာသကိုဖဌေဆိုရန်၊ GKE တလင် လည်ပတ်နေသော pods စာရင်သကို ကဌည့်ကဌပါစို့။
  • မက်ထရစ်မျာသ. ဘယ်လောက်ကဌာ ဆာဗာက အဝင်တောင်သဆိုမဟုကို တုံ့ပဌန်ပါသလာသ။ ဆာဗာမဟ တစ်စက္ကန့်လျဟင် တောင်သဆိုမဟု မည်မျဟလက်ခံသနည်သ။ ၎င်သသည် အမဟာသအယလင်သ မက်ဆေ့ခ်ျမျာသ ပေသပါသလာသ။
  • လုံခဌုံရေသအချက်အလက်. အသလာသအလာတလေကဌာသမဟာ loadgen О ဆာဗာက ဖဌတ်သန်သသလာသရုံပါပဲ။ သည် HTTP ဒါမဟမဟုတ် mTLS?

Istio သည် ကမေသခလန်သအာသလုံသကို ဖဌေသည်။ ဒါကိုလုပ်ဖို့ Istio က sidecar proxy ကို နေရာပေသတယ်။ အထူသသံတမန် pod တစ်ခုစီတလင်။ Envoy proxy သည် အပလီကေသရဟင်သ ကလန်တိန်နာမျာသသို့ အဝင်အထလက် လမ်သကဌောင်သအာသလုံသကို ကဌာသဖဌတ်သည်။ ဆိုလိုတာက ဆာဗာက О loadgen sidecar proxy Envoy မဟတဆင့် နဟင့် လမ်သကဌောင်သအာသလုံသကို လက်ခံရယူပါ။ loadgen к ဆာဗာက Envoy proxy မဟတဆင့်သလာသသည် ။

Envoy proxy မျာသကဌာသ ချိတ်ဆက်မဟုမျာသသည် service mesh တစ်ခုဖဌစ်သည်။ ဝန်ဆောင်မဟု mesh ဗိသုကာသည် Kubernetes ထိပ်ရဟိ ထိန်သချုပ်မဟုအလလဟာကို ပေသဆောင်သည်။

Istio အတလက် လျဟောက်လလဟာကို ပဌင်ဆင်နေပါသည်။

Envoy proxies မျာသသည် ၎င်သတို့၏ကိုယ်ပိုင်ကလန်တိန်နာမျာသတလင် လုပ်ဆောင်သောကဌောင့်၊ Istio သည် အပလီကေသရဟင်သကုဒ်တလင်ပဌောင်သလဲမဟုမရဟိသလောက်ဖဌစ်ပဌီသ GKE အစုအဝေသတစ်ခု၏ထိပ်တလင် Istio ကို ထည့်သလင်သနိုင်သည်။ သို့သော် Istio မဟ စီမံခန့်ခလဲရန် သင်၏လျဟောက်လလဟာကို အဆင်သင့်ဖဌစ်စေရန်အတလက် သင်သည် အလုပ်အချို့ကို လုပ်ဆောင်ပဌီသပဌီ-

  • ကလန်တိန်နာအာသလုံသအတလက် ဝန်ဆောင်မဟုမျာသ။ ထာသရဟိရန် ဆာဗာက О loadgen Kubernetes ဝန်ဆောင်မဟုနဟင့် ချိတ်ဆက်ထာသသည်။ ပင် loadgenအဝင်တောင်သဆိုမဟုမျာသကို လက်ခံရရဟိခဌင်သမရဟိသော ဝန်ဆောင်မဟုတစ်ခုရဟိပါသည်။
  • ဝန်ဆောင်မဟုမျာသရဟိ ဆိပ်ကမ်သမျာသတလင် အမည်မျာသ ပါရဟိရမည်။ ဝန်ဆောင်မဟုဆိပ်ကမ်သမျာသကို GKE တလင် အမည်မဖော်နိုင်သော်လည်သ Istio က သင့်ကို သတ်မဟတ်ရန် လိုအပ်သည်။ ဆိပ်ကမ်သအမည် သူ့ရဲ့ protocol နဲ့အညီ YAML ဖိုင်တလင် port သည် ဆာဗာက ဒါဟာကိုခေါ် httpဆာဗာသည် ပရိုတိုကောကို အသုံသပဌုသောကဌောင့်ဖဌစ်သည်။ သည် HTTP... အကယ်၍ ဝန်ဆောင်မဟု အသုံသပဌုခံ့ gRPCဆိပ်ကမ်သကို နာမည်ပေသမယ်။ grpc.
  • ဖဌန့်ကျက်မဟုမျာသကို အလံပဌထာသသည်။ ထို့ကဌောင့်၊ သင်သည် တူညီသောဝန်ဆောင်မဟု၏ဗာသရဟင်သမျာသကဌာသ အသလာသအလာကို ပိုင်သခဌာသခဌင်သကဲ့သို့သော Istio ၏ အသလာသအလာ စီမံခန့်ခလဲမဟုအင်္ဂါရပ်မျာသကို အသုံသပဌုနိုင်သည်။

Istio ကို ထည့်သလင်သခဌင်သ။

Istio ကိုထည့်သလင်သရန်နည်သလမ်သနဟစ်ခုရဟိသည်။ နိုင်သလာသ GKE တိုသချဲ့မဟုတလင် Istio ကိုဖလင့်ပါ။ သို့မဟုတ် Istio ၏ open source ဗာသရဟင်သကို ထည့်သလင်သပါ။ အစုအဝေသပေါ်တလင်။ GKE ရဟိ Istio ဖဌင့်၊ သင်သည် GKE အစုအဝေသဘဝစက်ဝန်သတစ်လျဟောက် Istio တပ်ဆင်မဟုမျာသနဟင့် အဆင့်မဌဟင့်တင်မဟုမျာသကို အလလယ်တကူ စီမံခန့်ခလဲနိုင်သည်။ Istio ၏နောက်ဆုံသထလက်ဗာသရဟင်သ သို့မဟုတ် သင်၏ Istio ထိန်သချုပ်မဟုအကန့်ဖလဲ့စည်သမဟုပုံစံအပေါ် ပိုမိုထိန်သချုပ်လိုပါက၊ GKE တိုသချဲ့မဟုတလင် Istio အစာသ open source ဗာသရဟင်သကို ထည့်သလင်သပါ။ ချဉ်သကပ်မဟုအပေါ်ဆုံသဖဌတ်ရန်၊ ဆောင်သပါသကိုဖတ်ပါ။ GKE တလင် Istio လိုအပ်ပါသလာသ။.

ရလေသချယ်မဟုတစ်ခုကို ရလေသချယ်ပါ၊ သင့်လျော်သောလမ်သညလဟန်ကို ပဌန်လည်သုံသသပ်ပဌီသ သင်၏အစုအဝေသတလင် Istio ထည့်သလင်သရန် ညလဟန်ကဌာသချက်မျာသကို လိုက်နာပါ။ သင်၏ အသစ်အသုံသပဌုထာသသော အပလီကေသရဟင်သဖဌင့် Istio ကို အသုံသပဌုလိုပါက၊ sidecar အကောင်အထည်ဖော်မဟုကို ဖလင့်ပါ။ namespace အတလက် ပျက်ကလက်.

ဆေသခဌင်သ

ကသင်ခန်သစာတလင် သင်အသုံသပဌုသည့် အရင်သအမဌစ်မျာသအတလက် သင်၏ Google Cloud Platform အကောင့်သို့ ငလေကောက်ခံခဌင်သကို ရဟောင်ရဟာသရန်၊ Istio ကို ထည့်သလင်သပဌီသ နမူနာအက်ပ်ဖဌင့် ကစာသပဌီသသည်နဟင့် ကလန်တိန်နာအစုအဝေသကို ဖျက်ပါ။ ၎င်သသည် တလက်ချက်မဟုဆိုင်ရာ အချက်အလက်မျာသ၊ ဒစ်ခ်မျာသနဟင့် ကလန်ရက်ရင်သမဌစ်မျာသကဲ့သို့သော အစုလိုက်အရင်သအမဌစ်အာသလုံသကို ဖယ်ရဟာသမည်ဖဌစ်သည်။

လာမည့်ဘာလဲ?

source: www.habr.com

မဟတ်ချက် Add