Deployment dell'applicazione di esempio Online Boutique su Anthos Service Mesh

Questa guida spiega come installare l'applicazione di esempio Online Boutique per dimostrare Anthos Service Mesh.

Prerequisiti

Questa guida presuppone che tu abbia:

Download e deployment dell'esempio

  1. Scarica l'anteprima utilizzando kpt:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/microservices-demo.git/release \
    online-boutique
    
  2. Crea uno spazio dei nomi per l'applicazione:

    kubectl create namespace demo
    
  3. 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 revisione istiod, che segue il prefisso istio.io/rev=. In questo esempio, il valore è asm-186-8.

  4. 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'etichetta istio-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'etichetta istio-injection sia l'etichetta di revisione, tutti i comandi kubectl label nella documentazione di Anthos Service Mesh comprendono la rimozione dell'etichetta istio-injection.

  5. Esegui il deployment dell'esempio nel cluster:

    kubectl apply -n demo -f online-boutique
    
  6. Trova l'indirizzo IP esterno della tua applicazione:

    kubectl get service frontend-external -n demo
    
  7. 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