Questa guida spiega come installare l'applicazione di esempio Online Boutique per dimostrare Anthos Service Mesh.
Prerequisiti
Questa guida presuppone che tu abbia:
- Un progetto Google Cloud.
- Un account di fatturazione Cloud.
- Anthos Service Mesh di cui è stato eseguito il deployment su un cluster.
- Configura l'ambiente.
Download e deployment dell'esempio
Scarica l'anteprima utilizzando
kpt
:kpt pkg get \ https://github.com/GoogleCloudPlatform/microservices-demo.git/release \ online-boutique
Crea uno spazio dei nomi per l'applicazione:
kubectl create namespace demo
Attiva l'iniezione automatica del sidecar (inserimento automatica). Utilizza il seguente comando per individuare l'etichetta nel servizio
istiod
, che contiene il valore dell'etichetta di revisione da utilizzare nei passaggi successivi.kubectl -n istio-system get pods -l app=istiod --show-labels
L'output è simile al seguente:
NAME READY STATUS RESTARTS AGE LABELS istiod-asm-186-8-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-186-8,istio=istiod,pod-template-hash=5788d57586 istiod-asm-186-8-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-186-8,istio=istiod,pod-template-hash=5788d57586
Nell'output, sotto la colonna
LABELS
, prendi nota del valore dell'etichetta di revisioneistiod
, che segue il prefissoistio.io/rev=
. In questo esempio, il valore èasm-186-8
.Applica l'etichetta di revisione allo spazio dei nomi. Nel comando seguente, REVISION è il valore dell'etichetta di revisione
istiod
che hai annotato nel passaggio precedente.kubectl label namespace demo istio-injection- istio.io/rev=REVISION --overwrite
Puoi ignorare il messaggio
"istio-injection not found"
nell'output. Ciò significa che lo spazio dei nomi non aveva in precedenza l'etichettaistio-injection
, cosa che dovresti aspettarti nelle nuove installazioni di Anthos Service Mesh o nei nuovi deployment. Poiché l'inserimento automatica non riesce se uno spazio dei nomi contiene sia l'etichettaistio-injection
sia l'etichetta di revisione, tutti i comandikubectl label
nella documentazione di Anthos Service Mesh comprendono la rimozione dell'etichettaistio-injection
.Esegui il deployment dell'esempio nel cluster:
kubectl apply -n demo -f online-boutique
Trova l'indirizzo IP esterno della tua applicazione:
kubectl get service frontend-external -n demo
Visita l'applicazione sul tuo browser per confermare l'installazione:
http://EXTERNAL_IP/
Per GKE, puoi esplorare le funzionalità di osservabilità di Anthos Service Mesh nella console Google Cloud. Tieni presente che possono essere necessari fino a 10 minuti prima che il grafico della topologia mostri i servizi nel tuo mesh.
Al termine dell'esplorazione, rimuovi l'esempio di Boutique online:
kubectl delete namespaces demo