Te whakarite tono mo Istio

Te whakarite tono mo Istio

He taputapu watea a Istio mo te hono, te pupuri me te aro turuki i nga tono toha. Ka whakamahi a Istio i nga momo hangarau hei whakahaere me te whakahaere i nga rorohiko i runga i te rahi, tae atu ki nga ipu ki te kiki i nga waehere tono me nga whakawhirinakitanga mo te tuku, me nga Kubernetes hei whakahaere i aua ipu. No reira, ki te mahi tahi me Istio me mohio koe me pehea te mahi o te tono me nga ratonga maha i runga i enei hangarau kaore Istio. Mena kua mohio koe ki enei taputapu me enei ariā, me pekehia tenei akoranga ka haere tika ki te waahanga Te Tāuta Istio ki Google Kubernetes Engine (GKE) te whakauru ranei i tetahi toronga Istio i runga i te GKE.

He aratohu taahiraa-i-te-taahiraa ka hikoi matou i nga mahi katoa mai i te waehere puna ki te ipu GKE kia mohio koe ki enei hangarau ma te tauira. Ka kite ano koe me pehea te whakamahi a Istio i te mana o enei hangarau. Ko te whakaaro tenei kaore koe e mohio mo nga ipu, Kubernetes, meshes ratonga, Istio ranei.

mahi

I tenei akoranga, ka oti ia koe nga mahi e whai ake nei:

  1. Te ako i tetahi tono oha ao ngawari me nga ratonga maha.
  2. Whakahaerehia te tono mai i te waehere puna.
  3. Te takai i te tono ki roto i nga ipu.
  4. Te hanga i te roopu Kubernetes.
  5. Te tuku ipu ki roto i te tautau.

I mua i to tiimata

Whaia nga tohutohu kia taea ai te Kubernetes Engine API:

  1. Haere ki Whārangi o Kubernetes Engine i roto i te papatohu Google Cloud Platform.
  2. Waihangahia, kowhiria ranei he kaupapa.
  3. Taria kia whakahohea te API me nga ratonga e pa ana. He meneti torutoru pea tenei.
  4. Me mohio kua whakaritea te nama mo to kaupapa Google Cloud Platform. Akohia me pehea te whakahohe nama.

I tenei akoranga, ka taea e koe te whakamahi Cloud Shell, e whakarite ana i te miihini mariko g1-iti i roto i te Google Compute Engine me te Linux-a-Debian, he rorohiko Linux, macOS ranei.

Kōwhiringa A: Mā te Cloud Shell

Nga painga o te whakamahi Cloud Shell:

  • Python 2 me Python 3 taiao whanaketanga (tae atu ki te mariko) kua tino whirihora.
  • Utauta Raina Whakahau gcloud, toka, git и kubectl, ka whakamahia e matou kua whakauruhia.
  • He maha nga mea hei whiriwhiri maau ētita kuputuhi:
    1. ētita waehere, ka tuwhera me te ata whakatika i te tihi o te matapihi Cloud Shell.
    2. Emacs, Vim, Nano ranei, ka tuwhera mai i te raina whakahau i Cloud Shell.

Hei whakamahi Kapua Anga:

  1. Haere ki te papatohu GCP.
  2. pēhi Whakahohe Kapua Anga (Whakahohehia Cloud Shell) kei runga o te matapihi papatohu GCP.

Te whakarite tono mo Istio

I te taha o raro Papatohu GCP Ka tuwhera he wahanga Cloud Shell me te raina whakahau ki te matapihi hou.

Te whakarite tono mo Istio

Kōwhiringa B: Whakamahi Utauta Raina Whakahau i te rohe

Mena kei te mahi koe i runga rorohiko e whakahaere ana i te Linux, i te macOS ranei, me whirihora me te whakauru i nga waahanga e whai ake nei:

  1. Whakaritea Python 3 me Python 2 taiao whanaketanga.

  2. Tāuta Cloud SDK me te taputapu raina whakahau gcloud.

  3. Tāuta kubectl - taputapu raina whakahau mo te mahi Kubernetes.

    gcloud components install kubectl

  4. Tāuta Putanga Hapori Docker (CE). Ka whakamahi koe i te taputapu raina whakahau tokaki te hanga whakaahua ipu mo te tauira tono.

  5. Tāutahia te taputapu Mana putanga Gitki te tiki i te tauira tono mai i GitHub.

Tikiake tauira waehere

  1. Tikiake i te waehere puna helloserver:

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

  2. Haere ki te tauira whaiaronga waehere:

    cd istio-samples/sample-apps/helloserver

Te torotoro i tetahi tono me nga ratonga maha

Ko te tauira tono kua tuhia ki te Python me nga waahanga e rua e taunekeneke ana ma te whakamahi te okiokinga:

  • tūmau: tūmau ngawari me te pito mutunga Tikina, /, e tuhi ana "kia ora te ao" ki te papatohu.
  • utaina: tuhinga e tuku waka ki tūmau, me te maha o nga tono mo ia hekona.

Te whakarite tono mo Istio

Te whakahaere tono mai i te waehere puna

Hei torotoro i te tauira tono, whakahaere ki Cloud Shell, ki to rorohiko ranei.
1) Kei roto i te raarangi istio-samples/tauira-taupānga/helloserver rere tūmau:

python3 server/server.py

I te tiimata tūmau ka whakaatuhia enei e whai ake nei:

INFO:root:Starting server...

2) Whakatuwheratia tetahi atu matapihi kati hei tuku tono ki tūmau. Mena kei te whakamahi koe i te Cloud Shell, paatohia te ata taapiri hei whakatuwhera i tetahi atu huihuinga.
3) Tukuna he tono ki tūmau:

curl http://localhost:8080

nga whakautu a te tūmau:

Hello World!

4) Mai i te raarangi i tangohia e koe te tauira tauira, haere ki te raarangi kei roto utaina:

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

5) Waihangahia nga taurangi taiao e whai ake nei:

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

6) Whakarewa mariko:

virtualenv --python python3 env

7) Whakahohehia te taiao mariko:

source env/bin/activate

8) Whakaritehia nga whakaritenga mo utaina:

pip3 install -r requirements.txt

9) Whakarewa utaina:

python3 loadgen.py

I te tiimata utaina ka whakaatu i tetahi mea penei i te karere e whai ake nei:

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

I tetahi atu matapihi kati tūmau ka whakaputa i nga karere e whai ake nei ki te papatohu:

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: */*

Mai i te tirohanga whatunga, ka rere te tono katoa i runga i te kaihautu kotahi (rorohiko rohe, miihini mariko Cloud Shell ranei). Na reira ka taea e koe te whakamahi localhostki te tuku tono ki tūmau.
10) Kia mutu utaina и tūmau, tomo Mana-c i ia matapihi kati.
11) I roto i te matapihi kāpeka utaina whakawetohia te taiao mariko:

deactivate

Te takai tono ki roto i nga ipu

Hei whakahaere i te tono ki runga i te GKE, me kikii koe i te tauira tono − tūmau и utaina - i roto i nga ipu. Ko te ipu he huarahi ki te koopaki i tetahi tono hei wehe mai i tona taiao.

Ki te kohikohi tono ki roto i te ipu, me hiahia koe Dockerfile. Dockerfile he konae tuhinga e tautuhi ana i nga whakahau mo te hanga i te waehere puna o te tono me ona whakawhirinakitanga ki roto Whakaahua Docker. Ka oti te hanga, ka tukuna e koe te ahua ki tetahi rehita ipu penei i a Docker Hub ranei Rehita Ipu.

Kei te tauira Dockerfile ki tūmau и utaina me nga whakahau katoa hei kohi whakaahua. Kei raro - Dockerfile ki tūmau:

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" ]

  • rōpū MAI i te python:3-slim hei turanga ka kii a Docker ki te whakamahi i nga mea hou Whakaahua Python 3 hei turanga.
  • rōpū KAUPAPA. . ka kape i nga konae puna ki te raarangi mahi o naianei (i ta matou keehi anake server.py) ki te pūnaha kōnae o te ipu.
  • TOHUTOHU ka tautuhi i te whakahau e whakamahia ana hei timata i te ipu. I a maatau, he rite tonu tenei whakahau ki te whakahau i whakahaerea e koe server.py mai i te waehere puna.
  • rōpū WHAKAMAHI e tohu ana tera tūmau ka tatari mo nga raraunga ma te tauranga 8080. Ehara tenei kapa whakarato tauranga. Koinei etahi momo tuhinga e hiahiatia ana hei whakatuwhera i te tauranga 8080 ina timata te ipu.

Kei te whakareri ki te whakauru i to tono

1) Tautuhia nga taurangi taiao e whai ake nei. Whakakapi PROJECT_ID ki to ID kaupapa GCP.

export PROJECT_ID="PROJECT_ID"

export GCR_REPO="preparing-istio"

Te whakamahi uara PROJECT_ID и GCR_REPO ka tohu koe i te ahua Docker ina hanga ana e koe ka pana ki te Rehita Ipu Tangata.

2) Tautuhia te kaupapa GCP taunoa mo te taputapu raina whakahau gcloud.

gcloud config set project $PROJECT_ID

3) Tautuhia te rohe taunoa mo te taputapu raina whakahau gcloud.

gcloud config set compute/zone us-central1-b

4) Me mohio kei te whakahohea te ratonga Rehita Ipu i roto i te kaupapa GCP.

gcloud services enable containerregistry.googleapis.com

Tūmau ipu

  1. Haere ki te whaiaronga kei reira te tauira tūmau:

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

  2. Huihuia te ahua ma te whakamahi Dockerfile me nga taurangi taiao i tautuhia e koe i mua:

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

Taumahi -t e tohu ana i te tohu Docker. Koinei te ingoa o te ahua ka whakamahia e koe i te wa e hora ana te ipu.

  1. Tukuake te atahanga ki te Rehita Ipu:
    docker push gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1

Te whakaurunga o te utaina

1) Haere ki te whaiaronga kei reira te tauira utaina:

cd ../loadgen

2) Kohia te whakaahua:

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

3) Tukuna ake te ahua ki te Rehita Ipu:

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

Tirohia te rarangi o nga whakaahua

Arotakehia te rarangi o nga whakaahua kei roto i te putunga me te manatoko kua tukuna nga whakaahua:

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

Ka whakaatu te whakahau i nga ingoa o nga whakaahua katahi ano ka tukuna:

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

Waihangahia he tautau GKE.

Ka taea te whakahaere i enei ipu i runga i te miihini mariko Cloud Shell, i runga ranei i te rorohiko me te whakahau ka oma te mahi. Engari i roto i te taiao whakaputa, me whai huarahi koe ki te whakarite i nga ipu. Hei tauira, ka hiahia koe ki tetahi punaha kia mohio kei te rere tonu nga ipu, ka hiahia koe ki tetahi huarahi ki te whakanui ake me te huri i etahi atu waahanga ipu mena ka piki te waka.

Ki te whakahaere i nga tono ipu ka taea e koe te whakamahi G.K.E.. Ko te GKE he papahanga whakahiato ipu e whakahiato ana i nga miihini mariko ki roto i te tautau. Ko ia miihini mariko ka kiia he node. Ko nga kohinga GKE kei runga i te punaha whakahaere roopu Kubernetes puna tuwhera. Ka whakaratohia e Kubernetes nga tikanga mo te taunekeneke me te roopu.

Waihangahia he huinga GKE:

1) Waihangahia he tautau:

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

rōpū gcloud ka waihanga i te kahui istioready i roto i te kaupapa GCP me te rohe taunoa i tohua e koe. Hei whakahaere i a Istio, ka tūtohu kia 4 nga pona me tetahi miihini mariko n1-paerewa-2.

Ka hangaia e te roopu te roopu i roto i etahi meneti. Ina reri te tautau, ka puta te whakahau penei Сообщение.

2) Whakaratohia nga tohu i roto i te taputapu raina whakahau kubectlhei whakamahi hei whakahaere i te tautau:

gcloud container clusters get-credentials istioready

3) Inaianei ka taea e koe te korero ki a Kubernetes ma kubectl. Hei tauira, ka kitea e te whakahau e whai ake nei te mana o nga pona:

kubectl get nodes

Ka whakaputahia e te tono he rarangi o nga pona:

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 Nga Tikanga Matua

E whakaatu ana te hoahoa i tetahi tono i runga i te GKE:

Te whakarite tono mo Istio

I mua i to tohatoha ipu ki GKE, akohia nga kaupapa matua o Kubernetes. He hononga kei te mutunga ki te hiahia koe ki te ako atu.

  • Nodes me nga tautau. I te GKE, he miihini mariko te node. I etahi atu papaaho Kubernetes, he rorohiko, he miihini mariko ranei te node. Ko te tautau he kohinga node ka taea te whakaaro he waeine kotahi ka tukuna e koe he tono kua mau.
  • Pods. I Kubernetes, ka rere nga ipu ki roto i nga putunga. Ko te Pod i Kubernetes he waeine kore e wehewehe. Kei te Pod tetahi ipu, neke atu ranei. Ka horahia e koe nga ipu tūmau me te utaina i roto i nga putea motuhake. Ina he maha nga ipu kei roto i tetahi pota (hei tauira, he tūmau tono me te tūmau takawaenga), ka whakahaerehia nga ipu hei hinonga kotahi, ka tohatoha i nga rauemi pod.
  • Te tukunga. I roto i nga Kubernetes, ko te horahanga he ahanoa he kohinga o nga poro riterite. Ka whakarewahia e te Whakamahinga nga tauira maha o nga putunga ka tohatoha puta noa i nga kohinga kohinga. Ka whakakapi aunoa i te tukunga i nga putunga kua rahua, kua kore ranei e aro.
  • Ratonga Kubernetes. A, no te rere waehere tono i roto i te GKE, te hononga i waenganui i utaina и tūmau. I te wa i timata koe i nga ratonga i runga i te miihini mariko Cloud Shell, papamahi ranei, i tukuna e koe nga tono ki tūmau I localhost: 8080. Ina tukuna ki te GKE, ka mahia nga pene ki runga i nga waahanga e waatea ana. Ma te taunoa, karekau he mana ki runga ko wai te pona e rere ana te pona, na ko koe nga poti kore wāhitau IP pūmau.
    Ki te whiwhi wāhitau IP mo tūmau, me tautuhi koe i te tangohanga whatunga ki runga ake o nga poti. Koia tena Ratonga Kubernetes. Ka whakaratohia e te ratonga Kubernetes he waahi mutunga mo te huinga o nga pene. He torutoru momo ratonga. tūmau whakamahinga LoadBalancer, e whakarato ana i te wāhitau IP waho hei whakapā atu tūmau mai i waho o te tautau.
    Kei a Kubernetes ano he punaha DNS kua whakauruhia ki roto hei tohu ingoa DNS (hei tauira, helloserver.default.cluster.local) ratonga. Ko te mihi ki tenei, ko nga pene i roto i te tautau ka korero ki etahi atu pokano i roto i te kohinga i te waahi noho pumau. Kaore e taea te whakamahi i te ingoa DNS ki waho o te roopu, penei i te Cloud Shell, i runga rorohiko ranei.

Ka whakaatu a Kubernetes

I te wa i whakahaerea e koe te tono mai i te puna, i whakamahia e koe te whakahau nui python3

server.py

Imperative te tikanga o te kupumahi: "mahia tenei."

Ka whakamahia e Kubernetes tauira whakapuaki. Ko te tikanga kaore matou e korero tika ki a Kubernetes me aha, engari ko te whakaahua i te ahua e hiahiatia ana. Hei tauira, ka timata, ka whakamutua e Kubernetes nga putunga ina hiahiatia kia rite te ahua o te punaha ki te ahua e hiahiatia ana.

Ka tohu koe i te ahua e hiahiatia ana i roto i nga whakaaturanga, i nga konae ranei TENEI. Kei roto i te konae YAML nga whakaritenga mo tetahi, neke atu ranei nga taonga Kubernetes.

Kei roto i te tauira he konae YAML mo tūmau и utaina. Ko ia kōnae YAML e tohu ana i te ahua e hiahiatia ana o te ahanoa tuku me te ratonga 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

  • atawhai e tohu ana i te momo mea.
  • metadata.ingoa ka whakapūtā te ingoa horahanga.
  • Mara tuatahi tauira he whakaahuatanga mo te ahua e hiahiatia ana.
  • spec.replicas e tohu ana i te maha o nga poro e hiahiatia ana.
  • Wāhanga spec.template ka tautuhi i te tauira pd. He waahi kei roto i te waahanga o te pene image, e tohu ana i te ingoa o te ahua ka tangohia mai i te Rehita Ipu.

Kua tautuhia te ratonga e whai ake nei:

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

  • LoadBalancer: Ka tukuna e nga kaihoko nga tono ki te wahitau IP o te taurite kawenga, kei a ia he wahitau IP pumau, ka uru mai i waho o te roopu.
  • Tauranga ūnga: kia mahara koe, ko te kapa WHAKARANGA 8080 в Dockerfile kihai i whakarato tauranga. Ka whakaratohia e koe te tauranga 8080kia taea e koe te whakapā atu ki te ipu tūmau kei waho o te kahui. I roto i to tatou take hellosvc.default.cluster.local:80 (ingoa poto: hellosvc) e hāngai ana ki te tauranga 8080 Wāhitau IP Pod helloserver.
  • tauranga: Koinei te tau tauranga ka tukuna e etahi atu ratonga o te roopu nga tono.

loadgen.yaml

He aha te tuku ki loadgen.yaml ahua rite server.yaml. Ko te rereke ko te ahanoa tohatoha kei roto he waahanga env. Ka tautuhi i nga taurangi taiao e hiahiatia ana utaina i whakauruhia e koe i te wa e whakahaere ana koe i te tono mai i te puna.

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

Kotahi utaina e kore e whakaae ki nga tono taumai, mo te mara momo tohua RōpūIP. Ka whakaratohia e tenei momo he wahitau IP tohe ka taea e nga ratonga i roto i te roopu te whakamahi, engari kaore tenei wahitau IP e kitea ki nga kiritaki o waho.

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

Te tuku Ipu i roto i te GKE

1) Haere ki te whaiaronga kei reira te tauira tūmau:

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

2) Tuwhera server.yaml i roto i te ētita kuputuhi.
3) Whakakapihia te ingoa i te mara image ki te ingoa o to ahua Docker.

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

Whakakapi PROJECT_ID ki to ID kaupapa GCP.
4) Tiakina ka kati server.yaml.
5) Tukuna te kōnae YAML ki Kubernetes:

kubectl apply -f server.yaml

I te otinga angitu, ka whakaputahia e te whakahau te waehere e whai ake nei:

deployment.apps/helloserver created
service/hellosvc created

6) Haere ki te whaiaronga kei hea utaina:

cd ../loadgen

7) Tuwhera loadgen.yaml i roto i te ētita kuputuhi.
8) Whakakapihia te ingoa i te mara image ki te ingoa o to ahua Docker.

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

Whakakapi PROJECT_ID ki to ID kaupapa GCP.
9) Tiakina ka kati loadgen.yaml, kati te ētita kuputuhi.
10) Tukuna te kōnae YAML ki Kubernetes:

kubectl apply -f loadgen.yaml

I te otinga angitu, ka whakaputahia e te whakahau te waehere e whai ake nei:

deployment.apps/loadgenerator created
service/loadgensvc created

11) Tirohia te mana o nga pene:

kubectl get pods

Ka whakaatu te tono i te mana:

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

12) Tangohia nga raarangi tono mai i te pd utaina. Whakakapi POD_ID ki te tautohu mai i te whakautu o mua.

kubectl logs loadgenerator-POD_ID

13) Tikina nga wahitau IP o waho hellosvc:

kubectl get service

He penei te ahua o te urupare whakahau:

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) Tukuna he tono ki hellosvc: whakakapi HE_IP ki te wāhitau IP waho hellosvc.

curl http://EXTERNAL_IP

Kia mau ki a Istio

Kua tukuna kētia he tono ki a GKE. utaina ka taea te whakamahi Kubernetes DNS (kia oravc:80) ki te tuku tono ki tūmaua ka taea e koe te tuku tono ki tūmau mā te wāhitau IP waho. Ahakoa he maha nga ahuatanga a Kubernetes, kei te ngaro etahi korero mo nga ratonga:

  • He pehea te taunekeneke o nga ratonga? He aha nga hononga i waenga i nga ratonga? He pehea te rere o nga waka i waenga i nga ratonga? Kei te mohio koe ki tena utaina tuku tono ki tūmau, engari whakaarohia kaore koe e mohio ki tetahi mea mo te tono. Hei whakautu i enei patai, me titiro ki te rarangi o nga poti rere i GKE.
  • Inenga. Kia pehea te roa tūmau ka whakautu ki tetahi tono taumai? E hia nga tono mo ia hēkona ka whakawhiwhia e te tūmau? Ka tuku karere hapa?
  • Mōhiohio Haumarutanga. Te waka i waenga utaina и tūmau haere noa HTTP e te ranei mTLS?

Ka whakautua e Istio enei patai katoa. Ki te mahi i tenei, ka tuu e Istio he takawaenga motika karere i roto i ia pene. Ka haukotia e te takawaenga o te Envoy nga waka taumai me te puta atu ki nga ipu tono. Ko te tikanga tera tūmau и utaina riro mai ma te Kaihoko takawaenga taha, me nga waka katoa mai utaina к tūmau haere i roto i te takawaenga Envoy.

Ko nga hononga i waenga i nga kaiwawao a Envoy ka hanga he mata ratonga. Ko te hoahoanga mata ratonga e whakarato ana i te paparanga mana ki runga ake o Kubernetes.

Te whakarite tono mo Istio

I te mea e rere ana nga takawaenga o Envoy ki roto i a raatau ake ipu, ka taea te whakauru a Istio ki runga ake o te kahui GKE me te kore e huri ki te waehere tono. Engari kua mahia e koe etahi mahi kia rite ai to tono kia whakahaerehia e Istio:

  • Nga ratonga mo nga ipu katoa. Ki nga whakatakotoranga tūmau и utaina herea ki te ratonga Kubernetes. Ahakoa utaina, e kore e whiwhi tono taumai, he ratonga.
  • Me whai ingoa nga tauranga i roto i nga ratonga. Ahakoa ka taea te waiho nga tauranga ratonga kia kore e whakaingoatia ki te GKE, me whakaingoatia e Istio ingoa tauranga i runga ano i tana kawa. I roto i te kōnae YAML te tauranga mo tūmau ka karangahia httpna te mea ka whakamahia e te tūmau te kawa HTTP. Mehemea ratonga whakamahia gRPC, ka whakaingoatia te tauranga grpc.
  • Ka tohuhia nga tukunga. Na reira, ka taea e koe te whakamahi i nga ahuatanga whakahaere waka a Istio, penei i te wehewehe i nga waka i waenga i nga putanga o te ratonga kotahi.

Tāuta Istio

E rua nga huarahi ki te whakauru i a Istio. Ka taea whakahohea a Istio ki te toronga GKE ranei tāuta te putanga puna tuwhera o Istio i runga i te tautau. Ma te Istio i runga i te GKE, ka taea e koe te whakahaere ngawari i nga whakaurunga me nga whakamohoatanga o Istio puta noa i te huringa ora o te roopu GKE. Mena kei te hiahia koe ki te putanga hou o Istio, mana ake ranei mo to whirihoranga paewhiri mana Istio, whakauruhia te putanga puna tuwhera hei utu mo te toronga Istio i runga i te GKE. Hei whakatau i te huarahi, panuihia te tuhinga Kei te hiahia ahau ki a Istio i runga i te GKE?.

Tīpakohia he kōwhiringa, arotakehia te aratohu e tika ana, ka whai i nga tohutohu ki te whakauru i a Istio ki to huinga. Mena kei te pirangi koe ki te whakamahi i a Istio me to tono hou kua tukuna, whakaahei te whakatinana i nga waka taha mo te waahi ingoa Taunoa.

Te horoi

Hei karo i te utu ki to putea Google Cloud Platform mo nga rauemi i whakamahia e koe i tenei akoranga, mukua te kahui ipu ina oti i a koe te whakauru i a Istio me te takaro me te tauira tono. Ma tenei ka tango i nga rauemi huinga katoa, penei i nga tauira rorohiko, nga kopae, me nga rauemi whatunga.

He aha te i muri?

Source: will.com

Tāpiri i te kōrero