Priprema aplikacije za Istio

Priprema aplikacije za Istio

Istio je praktičan alat za povezivanje, osiguranje i nadzor distribuiranih aplikacija. Istio koristi različite tehnologije za pokretanje i upravljanje softverom u velikom broju, uključujući spremnike za pakiranje aplikacijskog koda i ovisnosti za implementaciju, te Kubernetes za upravljanje tim spremnicima. Stoga, da biste radili s Istiom, morate znati kako funkcionira aplikacija s više usluga temeljenih na tim tehnologijama bez Istio. Ako su vam ovi alati i koncepti već poznati, slobodno preskočite ovaj vodič i idite ravno na odjeljak Instaliranje Istia na Google Kubernetes Engine (GKE) ili instaliranje ekstenzije Istio na GKE.

Ovo je vodič korak po korak u kojem ćemo proći kroz cijeli proces od izvornog koda do GKE spremnika kako bismo vam kroz primjer pružili osnovno razumijevanje ovih tehnologija. Također ćete vidjeti kako Istio iskorištava snagu ovih tehnologija. Ovo pretpostavlja da ne znate ništa o kontejnerima, Kubernetesu, servisnim mrežama ili Istiu.

zadaci

U ovom ćete vodiču izvršiti sljedeće zadatke:

  1. Učenje jednostavne aplikacije hello world s više usluga.
  2. Pokrenite aplikaciju iz izvornog koda.
  3. Pakiranje aplikacije u kontejnere.
  4. Stvaranje Kubernetes klastera.
  5. Postavljanje spremnika u klaster.

Prije nego što započnete

Slijedite upute za omogućavanje Kubernetes Engine API-ja:

  1. Idite na Stranica Kubernetes Engine u Google Cloud Platform konzoli.
  2. Kreirajte ili odaberite projekt.
  3. Pričekajte dok se API i povezane usluge ne omoguće. Ovo može potrajati nekoliko minuta.
  4. Provjerite je li naplata postavljena za vaš projekt Google Cloud Platform. Saznajte kako omogućiti naplatu.

U ovom vodiču možete koristiti Cloud Shell, koji priprema virtualni stroj g1-small u Google Compute Engineu s Linuxom temeljenim na Debianu ili računalom s Linuxom ili macOS-om.

Opcija A: Korištenje Cloud Shell-a

Prednosti korištenja Cloud Shell-a:

  • Python 2 i Python 3 razvojna okruženja (uključujući virtualenv) potpuno su konfigurirani.
  • Alati za naredbeni redak gcloud, lučki radnik, git и kubectl, koje ćemo koristiti već su instalirani.
  • Imate nekoliko na izbor uređivači teksta:
    1. Urednik koda, koji se otvara s ikonom za uređivanje na vrhu prozora Cloud Shell.
    2. Emacs, Vim ili Nano, koji se otvaraju iz naredbenog retka u Cloud Shellu.

Čtoby ispolʹzovatʹ Školjka u oblaku:

  1. Idite na GCP konzolu.
  2. Pritisnite gumb Aktivirajte Cloud Shell (Aktiviraj Cloud Shell) na vrhu prozora GCP konzole.

Priprema aplikacije za Istio

U donjem dijelu GCP konzola Sesija Cloud Shell-a s naredbenim redkom otvorit će se u novom prozoru.

Priprema aplikacije za Istio

Opcija B: Lokalno korištenje alata naredbenog retka

Ako ćete raditi na računalu s operativnim sustavom Linux ili macOS, morat ćete konfigurirati i instalirati sljedeće komponente:

  1. Prilagodite Python 3 i Python 2 razvojno okruženje.

  2. Instalirajte Cloud SDK s alatom naredbenog retka gcloud.

  3. Postaviti kubectl - alat naredbenog retka za rad Kubernetes.

    gcloud components install kubectl

  4. Postaviti Docker Community Edition (CE). Koristit ćete alat naredbenog retka lučki radnikza izradu slika spremnika za oglednu aplikaciju.

  5. Instalirajte alat Git kontrola verzijeda biste dobili primjer aplikacije s GitHuba.

Preuzmite uzorak koda

  1. Preuzmite izvorni kod helloserver:

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

  2. Idite u direktorij primjera koda:

    cd istio-samples/sample-apps/helloserver

Istraživanje aplikacije s više usluga

Primjer aplikacije napisan je u Pythonu i sastoji se od dvije komponente koje međusobno djeluju koristeći OSTALO:

  • server: jednostavan poslužitelj s jednom krajnjom točkom DOBITI, /, koji ispisuje "hello world" na konzolu.
  • loadgen: skripta koja šalje promet na server, s podesivim brojem zahtjeva u sekundi.

Priprema aplikacije za Istio

Pokretanje aplikacije iz izvornog koda

Da biste istražili oglednu aplikaciju, pokrenite je u Cloud Shellu ili na svom računalu.
1) U katalogu istio-uzorci/uzorci-aplikacija/helloserver trčanje server:

python3 server/server.py

Prilikom pokretanja server prikazuje se sljedeće:

INFO:root:Starting server...

2) Otvorite drugi prozor terminala za slanje zahtjeva server. Ako koristite Cloud Shell, kliknite ikonu za dodavanje da biste otvorili drugu sesiju.
3) Pošaljite upit na server:

curl http://localhost:8080

server odgovara:

Hello World!

4) Iz direktorija u koji ste preuzeli primjer koda idite na direktorij koji sadrži loadgen:

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

5) Kreirajte sljedeće varijable okoline:

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

6) Pokretanje virtualenv:

virtualenv --python python3 env

7) Aktivirajte virtualno okruženje:

source env/bin/activate

8) Postavite zahtjeve za loadgen:

pip3 install -r requirements.txt

9) Pokretanje loadgen:

python3 loadgen.py

Prilikom pokretanja loadgen prikazuje nešto poput sljedeće poruke:

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

U drugom prozoru terminala server ispisuje sljedeće poruke na konzolu:

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

Iz perspektive umrežavanja, cijela aplikacija radi na jednom hostu (lokalno računalo ili Cloud Shell virtualni stroj). Stoga možete koristiti localhostslati zahtjeve server.
10) Prestati loadgen и server, Unesi Ctrl-c u svakom prozoru terminala.
11) U prozoru terminala loadgen deaktiviraj virtualno okruženje:

deactivate

Pakiranje aplikacije u spremnike

Da biste pokrenuli aplikaciju na GKE-u, trebate zapakirati primjer aplikacije − server и loadgen - u spremnici. Spremnik je način za pakiranje aplikacije kako bi se izolirala od okoline.

Za pakiranje aplikacije u spremnik potrebno je dockerfile. dockerfile je tekstualna datoteka koja definira naredbe za ugradnju izvornog koda aplikacije i njegovih ovisnosti Docker slika. Jednom izgrađenu sliku učitavate u registar spremnika kao što je Docker Hub ili Registar kontejnera.

Primjer već ima dockerfile za server и loadgen sa svim potrebnim naredbama za prikupljanje slika. ispod - dockerfile za server:

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

  • Momčad IZ python:3-slim kao baza govori Dockeru da koristi najnoviji Python 3 slika kao baza.
  • Momčad KOPIRATI. . kopira izvorne datoteke u trenutni radni direktorij (samo u našem slučaju server.py) u datotečni sustav spremnika.
  • ULAZNA TOČKA definira naredbu koja se koristi za pokretanje spremnika. U našem slučaju, ova naredba je gotovo ista kao ona koju ste pokrenuli server.py iz izvornog koda.
  • Momčad IZLOŽITI ukazuje na to server čeka podatke kroz port 8080. Ova momčad nije pruža luke. Ovo je neka vrsta dokumentacije koja je potrebna za otvaranje porta 8080 prilikom pokretanja kontejnera.

Priprema za kontejneriziranje vaše aplikacije

1) Postavite sljedeće varijable okruženja. Zamijeniti PROJECT_ID na vaš ID GCP projekta.

export PROJECT_ID="PROJECT_ID"

export GCR_REPO="preparing-istio"

Korištenje vrijednosti PROJECT_ID и GCR_REPO označite Docker sliku kada je izgradite i gurnete je u privatni registar spremnika.

2) Postavite zadani GCP projekt za alat naredbenog retka gcloud.

gcloud config set project $PROJECT_ID

3) Postavite zadanu zonu za alat naredbenog retka gcloud.

gcloud config set compute/zone us-central1-b

4) Provjerite je li usluga Registra kontejnera omogućena u GCP projektu.

gcloud services enable containerregistry.googleapis.com

Poslužitelj za kontejnerizaciju

  1. Idite u direktorij u kojem se nalazi primjer server:

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

  2. Sastavite sliku pomoću dockerfile i varijable okruženja koje ste ranije definirali:

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

Parametar -t predstavlja Docker oznaku. Ovo je naziv slike koju koristite prilikom postavljanja spremnika.

  1. Učitaj sliku u registar spremnika:
    docker push gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1

Kontejnerizacija loadgena

1) Idite u direktorij u kojem se nalazi primjer loadgen:

cd ../loadgen

2) Prikupite sliku:

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

3) Učitajte sliku u registar spremnika:

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

Pogledajte popis slika

Pregledajte popis slika u repozitoriju i provjerite jesu li slike učitane:

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

Naredba prikazuje nazive novoučitanih slika:

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

Stvaranje GKE klastera.

Ti se spremnici mogu pokrenuti na virtualnom računalu Cloud Shell ili na računalu s naredbom vožnja dvoranom. Ali u proizvodnom okruženju potreban vam je način centralnog orkestriranja spremnika. Na primjer, potreban vam je sustav koji osigurava da spremnici uvijek rade i potreban vam je način za skaliranje i pokretanje dodatnih instanci spremnika ako se promet poveća.

Za pokretanje kontejnerskih aplikacija možete koristiti G.K.E.. GKE je platforma za orkestraciju spremnika koja okuplja virtualne strojeve u klaster. Svaki virtualni stroj naziva se čvor. GKE klasteri temelje se na otvorenom sustavu upravljanja klasterima Kubernetes. Kubernetes pruža mehanizme za interakciju s klasterom.

Stvaranje GKE klastera:

1) Napravite klaster:

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

Momčad gcloud stvara istioready klaster u GCP projektu i zadanoj zoni koju ste naveli. Za pokretanje Istio-a preporučujemo da imate najmanje 4 čvora i virtualni stroj n1-standard-2.

Tim stvara klaster u nekoliko minuta. Kada je klaster spreman, naredba ispisuje nešto poput ovoga сообщение.

2) Navedite vjerodajnice u alatu naredbenog retka kubectlda ga koristite za upravljanje klasterom:

gcloud container clusters get-credentials istioready

3) Sada možete komunicirati s Kubernetesom putem kubectl. Na primjer, sljedeća naredba može saznati status čvorova:

kubectl get nodes

Naredba daje popis čvorova:

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

Ključni koncepti Kubernetesa

Dijagram prikazuje aplikaciju na GKE:

Priprema aplikacije za Istio

Prije nego što postavite spremnike u GKE, naučite ključne koncepte Kubernetesa. Na samom kraju nalaze se poveznice ako želite saznati više.

  • Čvorovi i klasteri. U GKE-u, čvor je virtualni stroj. Na drugim Kubernetes platformama, čvor može biti računalo ili virtualni stroj. Klaster je skup čvorova koji se mogu smatrati jednom jedinicom u kojoj implementirate kontejnersku aplikaciju.
  • mahune. U Kubernetesu spremnici rade u podovima. Pod u Kubernetesu je nedjeljiva jedinica. Pod sadrži jedan ili više spremnika. Postavite poslužiteljske spremnike i loadgen u zasebnim mahunama. Kada postoji nekoliko spremnika u podu (na primjer, aplikacijski poslužitelj i proxy poslužitelj), spremnicima se upravlja kao jednom cjelinom i dijele resurse modula.
  • Raspoređivanja. U Kubernetesu, implementacija je objekt koji je zbirka identičnih podova. Implementacija pokreće višestruke replike mahuna raspoređenih po čvorovima klastera. Implementacija automatski zamjenjuje blokove koji nisu uspjeli ili ne reagiraju.
  • Kubernetes usluga. Kada pokrenete kod aplikacije u GKE-u, veza između loadgen и server. Kada ste pokrenuli usluge na Cloud Shell virtualnom računalu ili radnoj površini, poslali ste zahtjeve na server u localhost: 8080. Nakon što se implementiraju u GKE, podovi se izvršavaju na dostupnim čvorovima. Prema zadanim postavkama, nemate kontrolu nad tim na kojem se čvoru pod izvodi, pa vi mahune nema stalne IP adrese.
    Za dobivanje IP adrese za server, trebate definirati mrežnu apstrakciju na vrhu podova. To je ono što je Kubernetes usluga. Usluga Kubernetes pruža trajnu krajnju točku za skup podova. Ima ih nekoliko vrste usluga. server koristi LoadBalancer, koji daje vanjsku IP adresu za kontakt server izvan klastera.
    Kubernetes također ima ugrađeni DNS sustav koji dodjeljuje DNS nazive (na primjer, helloserver.default.cluster.local) usluge. Zahvaljujući tome, podovi unutar klastera komuniciraju s ostalim podovima u klasteru na stalnoj adresi. DNS naziv ne može se koristiti izvan klastera, kao što je Cloud Shell ili na računalu.

Kubernetes manifestira

Kada ste pokrenuli aplikaciju iz izvora, koristili ste imperativnu naredbu python3

server.py

Imperativ podrazumijeva glagol: "učini ovo."

Kubernetes koristi deklarativni model. To znači da Kubernetesu ne govorimo točno što treba učiniti, već opisujemo željeno stanje. Na primjer, Kubernetes pokreće i zaustavlja module prema potrebi kako bi osigurao da stvarno stanje sustava odgovara željenom stanju.

Vi označavate željeno stanje u manifestima ili datotekama YAML. YAML datoteka sadrži specifikacije za jedan ili više Kubernetes objekata.

Primjer sadrži YAML datoteku za server и loadgen. Svaka YAML datoteka navodi željeno stanje objekta implementacije i usluge Kubernetes.

poslužitelj.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

  • vrsta označava vrstu objekta.
  • metapodaci.naziv navodi naziv implementacije.
  • Prvo polje specijalan sadrži opis željenog stanja.
  • spec.replike označava željeni broj mahuna.
  • Odjeljak spec.predložak definira šablon mahune. Postoji polje u specifikaciji modula slika, koji navodi naziv slike koju je potrebno izdvojiti iz registra spremnika.

Usluga je definirana na sljedeći način:

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

  • LoadBalancer: Klijenti šalju zahtjeve na IP adresu balansera opterećenja, koja ima stalnu IP adresu i dostupna je izvan klastera.
  • targetPort: kao što se sjećate, tim IZLOŽENOST 8080 в dockerfile nije osigurao luke. Vi osiguravate luku 8080tako da možete kontaktirati kontejner server izvan klastera. U našem slučaju hellosvc.default.cluster.local:80 (kratko ime: bok svc) odgovara luci 8080 Pod IP adrese helloserver.
  • luka: Ovo je broj priključka na koji će druge usluge u klasteru slati zahtjeve.

loadgen.yaml

Objekt implementacije na loadgen.yaml izgledati poslužitelj.yaml. Razlika je u tome što objekt postavljanja sadrži odjeljak eNV. Definira varijable okoline koje su potrebne loadgen a koje ste instalirali prilikom pokretanja aplikacije iz izvora.

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

vrijeme loadgen ne prihvaća pristigle zahtjeve, za polj vrsta nepoznat KlasterIP. Ova vrsta pruža trajnu IP adresu koju usluge u klasteru mogu koristiti, ali ta IP adresa nije izložena vanjskim klijentima.

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

Postavljanje spremnika u GKE

1) Idite u direktorij u kojem se nalazi primjer server:

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

2) Otvorite poslužitelj.yaml u uređivaču teksta.
3) Zamijenite ime u polju slika na naziv vaše Docker slike.

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

Zamijeniti PROJECT_ID na vaš ID GCP projekta.
4) Spremite i zatvorite poslužitelj.yaml.
5) Implementirajte YAML datoteku u Kubernetes:

kubectl apply -f server.yaml

Nakon uspješnog završetka, naredba proizvodi sljedeći kod:

deployment.apps/helloserver created
service/hellosvc created

6) Idite u imenik gdje loadgen:

cd ../loadgen

7) Otvorite loadgen.yaml u uređivaču teksta.
8) Zamijenite ime u polju slika na naziv vaše Docker slike.

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

Zamijeniti PROJECT_ID na vaš ID GCP projekta.
9) Spremite i zatvorite loadgen.yaml, zatvorite uređivač teksta.
10) Implementirajte YAML datoteku u Kubernetes:

kubectl apply -f loadgen.yaml

Nakon uspješnog završetka, naredba proizvodi sljedeći kod:

deployment.apps/loadgenerator created
service/loadgensvc created

11) Provjerite status mahuna:

kubectl get pods

Naredba prikazuje status:

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

12) Ekstrahirajte zapisnike aplikacija iz modula loadgen. Zamijeniti POD_ID na ID iz prethodnog odgovora.

kubectl logs loadgenerator-POD_ID

13) Nabavite vanjske IP adrese bok svc:

kubectl get service

Odgovor na naredbu izgleda otprilike ovako:

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) Pošaljite upit na bok svc: zamijeniti VANJSKI_IP na vanjsku IP adresu bok svc.

curl http://EXTERNAL_IP

Uzmimo Istio

Već imate aplikaciju postavljenu na GKE. loadgen može koristiti Kubernetes DNS (pozdravvc:80) za slanje zahtjeva serveri možete slati zahtjeve na server preko vanjske IP adrese. Iako Kubernetes ima mnogo značajki, nedostaju neke informacije o uslugama:

  • Kako usluge međusobno djeluju? Kakvi su odnosi između usluga? Kako teče promet između usluga? Jeste li svjesni toga loadgen šalje zahtjeve na server, ali zamislite da ne znate ništa o aplikaciji. Kako bismo odgovorili na ova pitanja, pogledajmo popis pokrenutih podova u GKE-u.
  • Metrika. Koliko dugo server odgovara na dolazni zahtjev? Koliko zahtjeva u sekundi prima poslužitelj? Daje li poruke o greškama?
  • Sigurnosne informacije. Promet između loadgen и server samo prolazi HTTP ili po mTLS?

Istio odgovara na sva ova pitanja. Da bi to učinio, Istio postavlja sidecar proxy Izaslanik u svakoj mahuni. Envoy proxy presreće sav dolazni i odlazni promet prema spremnicima aplikacija. To znači da server и loadgen primati preko sidecar proxyja Envoy, i sav promet od loadgen к server ide preko Envoy proxyja.

Veze između Envoy proxyja tvore servisnu mrežu. Servisna mrežasta arhitektura pruža sloj kontrole povrh Kubernetesa.

Priprema aplikacije za Istio

Budući da Envoy proxyji rade u vlastitim spremnicima, Istio se može instalirati na vrh GKE klastera bez gotovo ikakvih promjena koda aplikacije. Ali učinili ste nešto kako biste svoju aplikaciju pripremili za upravljanje Istioom:

  • Servis za sve kontejnere. Za raspoređivanja server и loadgen vezan uz uslugu Kubernetes. Čak loadgen, koji ne prima dolazne zahtjeve, postoji usluga.
  • Priključci u uslugama moraju imati imena. Iako servisni priključci mogu ostati neimenovani u GKE-u, Istio zahtijeva da ih navedete naziv luke u skladu sa svojim protokolom. U YAML datoteci priključak za server pozvan httpjer poslužitelj koristi protokol HTTP. Ako usluga korišteni gRPC, nazvali biste luku grpc.
  • Implementacije su označene. Stoga možete koristiti Istio značajke upravljanja prometom, kao što je dijeljenje prometa između verzija iste usluge.

Montaža

Istio možete instalirati na dva načina. Limenka omogućiti Istio na GKE proširenju ili instalirati open source verziju Istio na klasteru. Uz Istio na GKE-u, možete jednostavno upravljati Istio instalacijama i nadogradnjama tijekom životnog ciklusa GKE klastera. Ako želite najnoviju verziju Istia ili veću kontrolu nad konfiguracijom upravljačke ploče Istio, instalirajte verziju otvorenog koda umjesto Istio na GKE proširenju. Da biste odlučili o pristupu, pročitajte članak Trebam li Istio na GKE-u?.

Odaberite opciju, pregledajte odgovarajući vodič i slijedite upute za instalaciju Istio na vašem klasteru. Ako želite koristiti Istio sa svojom novo postavljenom aplikacijom, omogućiti implementaciju prikolice za imenski prostor zadani.

čišćenje

Kako biste izbjegli naplatu s računa Google Cloud Platform za resurse koje ste koristili u ovom vodiču, izbrišite klaster spremnika nakon što instalirate Istio i počnete s oglednom aplikacijom. Ovo će ukloniti sve resurse klastera, kao što su računalne instance, diskovi i mrežni resursi.

Što je sljedeće?

Izvor: www.habr.com

Dodajte komentar