Priprema aplikacije za Istio

Priprema aplikacije za Istio

Istio je zgodan alat za povezivanje, osiguranje i nadgledanje distribuiranih aplikacija. Istio koristi različite tehnologije za pokretanje i upravljanje softverom u velikom obimu, uključujući kontejnere za pakovanje koda aplikacije i zavisnosti za implementaciju, i Kubernetes za upravljanje tim kontejnerima. Stoga, da biste radili sa Istiom, morate znati kako funkcionira aplikacija s više servisa baziranih na ovim tehnologijama bez Istio. Ako su vam ovi alati i koncepti već poznati, slobodno preskočite ovaj vodič i idite direktno na odjeljak Instaliranje Istio 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 kontejnera kako bismo vam kroz primjer pružili osnovno razumijevanje ovih tehnologija. Također ćete vidjeti kako Istio koristi moć ovih tehnologija. Ovo pretpostavlja da ne znate ništa o kontejnerima, Kubernetes-u, servisnim mrežama ili Istio-u.

zadaci

U ovom vodiču ćete obaviti sljedeće zadatke:

  1. Naučite jednostavnu aplikaciju hello world s više usluga.
  2. Pokrenite aplikaciju iz izvornog koda.
  3. Pakovanje aplikacije u kontejnere.
  4. Kreiranje Kubernetes klastera.
  5. Postavljanje kontejnera u klaster.

Pre nego što počnete

Slijedite upute da omogućite Kubernetes Engine API:

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

U ovom vodiču možete koristiti Cloud Shell, koji priprema virtuelnu mašinu g1-small u Google Compute Engineu s Linuxom baziranim na Debianu, ili Linux ili macOS računalom.

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) su potpuno konfigurisani.
  • Alati komandne linije gcloud, docker, git и kubectl, koje ćemo koristiti su već instalirani.
  • Možete birati između nekoliko uređivači teksta:
    1. Editor koda, koji se otvara sa ikonom za uređivanje na vrhu prozora Cloud Shell.
    2. Emacs, Vim ili Nano, koji se otvaraju iz komandne linije u Cloud Shell-u.

Koristiti Cloud Shell:

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

Priprema aplikacije za Istio

U donjem dijelu GCP konzola Cloud Shell sesija sa komandnom linijom će se otvoriti u novom prozoru.

Priprema aplikacije za Istio

Opcija B: Lokalno korištenje alata komandne linije

Ako ćete raditi na računaru koji koristi Linux ili macOS, morat ćete konfigurirati i instalirati sljedeće komponente:

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

  2. Instalirajte Cloud SDK sa alatom komandne linije gcloud.

  3. Ustanovite kubectl - alat komandne linije za rad Kubernet.

    gcloud components install kubectl

  4. Ustanovite Docker Community Edition (CE). Koristit ćete alat komandne linije dockerza kreiranje slika kontejnera za primjer aplikacije.

  5. Instalirajte alat Git kontrola verzijada dobijete uzorak aplikacije sa GitHub-a.

Preuzmite uzorak koda

  1. Preuzmite izvorni kod helloserver:

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

  2. Idite na primjer direktorija kodova:

    cd istio-samples/sample-apps/helloserver

Istraživanje aplikacije s više usluga

Primjer aplikacije je napisan u Python-u i sastoji se od dvije komponente koje međusobno djeluju REST:

  • server: jednostavan server sa jednom krajnjom tačkom UZMI, /, koji ispisuje "hello world" na konzolu.
  • loadgen: skripta koja šalje promet na server, sa podesivim brojem zahtjeva u sekundi.

Priprema aplikacije za Istio

Pokretanje aplikacije iz izvornog koda

Da biste istražili primjer aplikacije, pokrenite je u Cloud Shell-u ili na svom računaru.
1) U katalogu istio-samples/sample-apps/helloserver trči 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 na ikonu za dodavanje da otvorite drugu sesiju.
3) Pošaljite zahtjev na server:

curl http://localhost:8080

server odgovara:

Hello World!

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

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

5) Kreirajte sljedeće varijable okruženja:

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

6) Trči virtualenv:

virtualenv --python python3 env

7) Aktivirajte virtuelno okruženje:

source env/bin/activate

8) Postavite zahtjeve za loadgen:

pip3 install -r requirements.txt

9) Trči 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 šalje 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 (lokalni računar ili Cloud Shell virtuelna mašina). Stoga možete koristiti localhostza slanje zahtjeva server.
10) Prestati loadgen и server, unesite Ctrl-c u svakom prozoru terminala.
11) U prozoru terminala loadgen deaktivirajte virtuelno okruženje:

deactivate

Pakovanje aplikacije u kontejnere

Da biste pokrenuli aplikaciju na GKE-u, morate zapakirati primjer aplikacije − server и loadgen - u kontejneri. Kontejner je način pakovanja aplikacije kako bi se izolirala od njenog okruženja.

Da biste upakovali aplikaciju u kontejner, potrebno vam je dockerfile. dockerfile je tekstualna datoteka koja definira naredbe za ugradnju izvornog koda aplikacije i njegovih ovisnosti u Docker slika. Jednom napravljen, sliku učitavate u registar kontejnera kao što je Docker Hub ili Registar kontejnera.

Primjer već ima dockerfile do server и loadgen sa svim potrebnim komandama za prikupljanje slika. Ispod - dockerfile do 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" ]

  • tim IZ python-a:3-slim kao osnova kaže Dockeru da koristi najnovije Python 3 slika kao baza.
  • tim COPY. . kopira izvorne datoteke u trenutni radni direktorij (samo u našem slučaju server.py) na sistem datoteka kontejnera.
  • ENTRYPOINT definira naredbu koja se koristi za pokretanje kontejnera. U našem slučaju, ova komanda je skoro ista kao ona koju ste koristili za pokretanje server.py iz izvornog koda.
  • tim EXPOSE ukazuje na to server čeka podatke kroz port 8080. Ovaj tim nije obezbeđuje portove. Ovo je neka vrsta dokumentacije koja je potrebna za otvaranje porta 8080 prilikom pokretanja kontejnera.

Priprema za kontejnerizaciju vaše aplikacije

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

export PROJECT_ID="PROJECT_ID"

export GCR_REPO="preparing-istio"

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

2) Postavite podrazumevani GCP projekat za alat komandne linije gcloud.

gcloud config set project $PROJECT_ID

3) Postavite zadanu zonu za alat komandne linije gcloud.

gcloud config set compute/zone us-central1-b

4) Uvjerite se da je usluga registra kontejnera omogućena u GCP projektu.

gcloud services enable containerregistry.googleapis.com

Server za kontejnerizaciju

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

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

  2. Sastavite sliku koristeći 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 kontejnera.

  1. Otpremite sliku u Registar kontejnera:
    docker push gcr.io/$PROJECT_ID/$GCR_REPO/helloserver:v0.0.1

Kontejnerizacija loadgena

1) Idite na 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) Otpremite sliku u Registar kontejnera:

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

Pogledajte listu slika

Pregledajte listu slika u spremištu i provjerite da li su slike otpremljene:

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

Kreiranje GKE klastera.

Ovi kontejneri se mogu pokrenuti na Cloud Shell virtuelnoj mašini ili na računaru sa komandom docker run. Ali u proizvodnom okruženju, potreban vam je način za centralno orkestriranje kontejnera. Na primjer, potreban vam je sistem koji osigurava da se kontejneri uvijek izvode, i potreban vam je način da povećate i pokrenete dodatne instance kontejnera ako se promet poveća.

Za pokretanje kontejnerskih aplikacija možete koristiti G.K.E.. GKE je platforma za orkestraciju kontejnera koja agregira virtuelne mašine u klaster. Svaka virtuelna mašina se zove čvor. GKE klasteri su bazirani na sistemu upravljanja klasterima otvorenog koda Kubernetes. Kubernetes obezbeđuje mehanizme za interakciju sa klasterom.

Kreiranje GKE klastera:

1) Kreirajte klaster:

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

tim gcloud kreira istioready klaster u GCP projektu i zadanu zonu koju ste naveli. Da biste pokrenuli Istio, preporučujemo da imate najmanje 4 čvora i virtuelnu mašinu n1-standard-2.

Tim stvara klaster za nekoliko minuta. Kada je klaster spreman, naredba daje nešto poput ovoga poruka.

2) Navedite vjerodajnice u alatu komandne linije kubectlda ga koristite za upravljanje klasterom:

gcloud container clusters get-credentials istioready

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

kubectl get nodes

Naredba proizvodi listu č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 implementirate kontejnere u GKE, naučite ključne koncepte Kubernetesa. Postoje linkovi na samom kraju ako želite da saznate više.

  • Čvorovi i klasteri. U GKE, čvor je virtuelna mašina. Na drugim Kubernetes platformama, čvor može biti računar ili virtuelna mašina. Klaster je kolekcija čvorova koji se mogu smatrati jednom jedinicom u kojoj postavljate kontejneriziranu aplikaciju.
  • Pods. U Kubernetesu, kontejneri rade u podovima. Pod u Kubernetesu je nedjeljiva jedinica. Pod sadrži jedan ili više kontejnera. Vi postavljate serverske kontejnere i loadgen u odvojenim mahunama. Kada postoji nekoliko kontejnera u modulu (na primjer, poslužitelj aplikacija i proxy server), kontejnerima se upravlja kao jedan entitet i dijele pod resurse.
  • Deployments. U Kubernetesu, implementacija je objekat koji je kolekcija identičnih podova. Deployment pokreće višestruke replike podova raspoređenih po čvorovima klastera. Implementacija automatski zamjenjuje module koji nisu uspjeli ili ne reagiraju.
  • Kubernetes servis. Prilikom pokretanja koda aplikacije u GKE-u, veza između loadgen и server. Kada ste pokrenuli usluge na Cloud Shell virtuelnoj mašini ili desktopu, poslali ste zahteve na server po adresi localhost: 8080. Jednom raspoređeni u GKE, podovi se izvršavaju na dostupnim čvorovima. Prema zadanim postavkama, nemate kontrolu nad kojim čvorom se pod pokreće, tako da vi pods nema stalnih IP adresa.
    Da biste dobili IP adresu za server, morate definirati mrežnu apstrakciju na vrhu podova. To je ono što je Kubernetes servis. Usluga Kubernetes pruža trajnu krajnju tačku za skup podova. Ima ih nekoliko vrste usluga. server koristi LoadBalancer, koji pruža eksternu IP adresu za kontakt server izvan klastera.
    Kubernetes takođe ima ugrađeni DNS sistem koji dodeljuje DNS imena (na primer, helloserver.default.cluster.local) usluge. Zahvaljujući tome, podovi unutar klastera komuniciraju sa drugim podovima u klasteru na konstantnoj adresi. DNS ime se ne može koristiti izvan klastera, kao što je Cloud Shell ili na računaru.

Kubernetes manifesti

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

server.py

Imperativ implicira glagol: „uradi ovo“.

Kubernetes koristi deklarativni model. To znači da Kubernetesu ne govorimo tačno šta da radi, već opisujemo željeno stanje. Na primjer, Kubernetes pokreće i zaustavlja podove po potrebi kako bi stvarno stanje sistema bilo u skladu sa željenim stanjem.

Naznačite ž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 specificira željeno stanje objekta implementacije i Kubernetes servisa.

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

  • vrsta označava tip objekta.
  • metadata.name specificira ime implementacije.
  • Prvo polje spec sadrži opis željenog stanja.
  • spec.replike označava željeni broj mahuna.
  • Odeljak spec.template definira pod šablon. Postoji polje u specifikaciji pod slika, koji specificira ime slike koju treba izdvojiti iz registra kontejnera.

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 trajnu IP adresu i dostupna je izvan klastera.
  • targetPort: kao što se sećate, tim EXPOSE 8080 в dockerfile nije obezbijedio luke. Vi dajete luku 8080tako da možete kontaktirati kontejner server izvan klastera. U našem slučaju hellosvc.default.cluster.local:80 (kratko ime: hellosvc) odgovara portu 8080 Pod IP adrese helloserver.
  • luka: Ovo je broj porta na koji će druge usluge u klasteru slati zahtjeve.

loadgen.yaml

Objekat implementacije na loadgen.yaml izgleda kao server.yaml. Razlika je u tome što objekt implementacije sadrži odjeljak env. Definira varijable okruženja koje su potrebne loadgen i 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

Vreme loadgen ne prihvata dolazne zahtjeve, za polje tip naznačeno ClusterIP. Ovaj tip pruža trajnu IP adresu koju usluge u klasteru mogu koristiti, ali ova 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 kontejnera u GKE

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

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

2) Otvori server.yaml u uređivaču teksta.
3) Zamijenite ime u polju slika na ime vaše Docker slike.

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

Zamijenite PROJECT_ID na ID vašeg GCP projekta.
4) Sačuvajte i zatvorite server.yaml.
5) Postavite 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 na direktorij gdje loadgen:

cd ../loadgen

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

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

Zamijenite PROJECT_ID na ID vašeg GCP projekta.
9) Sačuvajte i zatvorite loadgen.yaml, zatvorite uređivač teksta.
10) Postavite 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 pokazuje status:

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

12) Izvucite dnevnike aplikacije iz pod loadgen. Zamijenite POD_ID na identifikator iz prethodnog odgovora.

kubectl logs loadgenerator-POD_ID

13) Nabavite eksterne IP adrese hellosvc:

kubectl get service

Odgovor na komandu 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 zahtjev na hellosvc: zamjena EXTERNAL_IP na eksternu IP adresu hellosvc.

curl http://EXTERNAL_IP

Hajdemo na Istio

Već imate aplikaciju raspoređenu na GKE. loadgen može koristiti Kubernetes DNS (hellosvc:80) za slanje zahtjeva serveri možete slati zahtjeve na server eksternom IP adresom. Iako Kubernetes ima mnogo funkcija, nedostaju neke informacije o uslugama:

  • Kako usluge međusobno djeluju? Kakvi su odnosi između usluga? Kako promet teče između usluga? Jeste li svjesni toga loadgen šalje zahtjeve na server, ali zamislite da ne znate ništa o aplikaciji. Da bismo odgovorili na ova pitanja, pogledajmo listu pokrenutih podova u GKE-u.
  • metrika. Koliko dugo server odgovara na dolazni zahtjev? Koliko zahtjeva u sekundi primi server? Da li daje poruke o grešci?
  • Sigurnosne informacije. Saobraćaj između loadgen и server samo prolazi HTTP ili od mTLS?

Istio odgovara na sva ova pitanja. Da bi to uradio, Istio postavlja sidecar proxy izaslanik u svakoj mahuni. Envoy proxy presreće sav dolazni i odlazni saobraćaj do kontejnera aplikacija. To znači da server и loadgen primati preko proxy proxy Envoy-a i sav promet od loadgen к server ide preko proxyja izaslanika.

Veze između Envoy proksija formiraju servisnu mrežu. Arhitektura servisne mreže pruža sloj kontrole na vrhu Kubernetesa.

Priprema aplikacije za Istio

Budući da se Envoy proksiji pokreću u vlastitim kontejnerima, Istio se može instalirati na vrhu GKE klastera bez gotovo nikakvih promjena u kodu aplikacije. Ali uradili ste neke poslove kako biste svoju aplikaciju pripremili za Istio upravljanje:

  • Usluge za sve kontejnere. Za raspoređivanje server и loadgen vezan za Kubernetes servis. Čak loadgen, koji ne prima dolazne zahtjeve, postoji usluga.
  • Portovi u uslugama moraju imati imena. Iako se servisni portovi mogu ostaviti neimenovanim u GKE-u, Istio zahtijeva da navedete naziv porta u skladu sa njegovim protokolom. U YAML datoteci port za server se zove httpjer server koristi protokol HTTP... Ako usluga polovno gRPC, vi biste nazvali luku grpc.
  • Raspoređivanja su označena. Stoga možete koristiti Istio funkcije upravljanja prometom, kao što je podjela prometa između verzija iste usluge.

Instalacija

Postoje dva načina da instalirate Istio. Može omogućite Istio na ekstenziji GKE ili instalirajte verziju otvorenog koda Istio na klasteru. Uz Istio na GKE-u, možete lako upravljati Istio instalacijama i nadogradnjama kroz životni ciklus GKE klastera. Ako želite najnoviju verziju Istio-a ili više kontrole nad konfiguracijom Istio kontrolne ploče, instalirajte verziju otvorenog koda umjesto ekstenzije Istio na GKE. Da biste se odlučili za pristup, pročitajte članak Da li mi treba Istio na GKE?.

Odaberite opciju, pregledajte odgovarajući vodič i slijedite upute kako biste instalirali Istio na svoj klaster. Ako želite koristiti Istio sa svojom novopostavljenom aplikacijom, omogućiti implementaciju bočne prikolice za imenski prostor default.

Čišćenje

Kako biste izbjegli naplatu resursa koje ste koristili u ovom vodiču sa vašeg Google Cloud Platform računa, izbrišite klaster kontejnera nakon što instalirate Istio i igrate s primjerom aplikacije. Ovo će ukloniti sve resurse klastera, kao što su instance računara, diskovi i mrežni resursi.

Što je sljedeće?

izvor: www.habr.com

Dodajte komentar