Deployment dell'applicazione di esempio Online Boutique

Questa guida spiega come installare l'applicazione di esempio Online Boutique per dimostrare Anthos Service Mesh. Se non hai installato Anthos Service Mesh, consulta la sezione Guide all'installazione per scegliere la guida più adatta a te.

Attivazione dell'inserimento automatico collaterale

Per abilitare l'inserimento automatico di sidecar (inserimento automatico) per l'applicazione di esempio, devi aggiungere un'etichetta di revisione allo spazio dei nomi dell'esempio. L'etichetta che aggiungi dipende se hai eseguito il deployment di Anthos Service Mesh gestito o hai installato il piano di controllo nel cluster. L'etichetta revisione viene utilizzata dal webhook iniettore sidecar per associare i file collaterali inseriti a una determinata revisione del piano di controllo.

Nel cluster

  1. Crea uno spazio dei nomi per l'applicazione:

    kubectl create namespace demo
    
  2. Utilizza il seguente comando per individuare l'etichetta su istiod:

    kubectl -n istio-system get pods -l app=istiod --show-labels
    

    L'output è simile al seguente:

    NAME                                READY   STATUS    RESTARTS   AGE   LABELS
    istiod-asm-1106-2-5788d57586-bljj4   1/1     Running   0          23h   app=istiod,istio.io/rev=asm-1106-2,istio=istiod,pod-template-hash=5788d57586
    istiod-asm-1106-2-5788d57586-vsklm   1/1     Running   1          23h   app=istiod,istio.io/rev=asm-1106-2,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-1106-2.

  3. Applica l'etichetta di revisione allo spazio dei nomi demo. 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.

Mesh di servizi gestito

  1. Crea uno spazio dei nomi per l'applicazione:

    kubectl create namespace demo
    
  2. Applica l'etichetta di revisione asm-managed-rapid allo spazio dei nomi demo:

    kubectl label namespace demo istio-injection- istio.io/rev=asm-managed-rapid --overwrite
    

    Questa etichetta corrisponde all'attuale canale di rilascio di Anthos Service Mesh gestito per la versione di Anthos Service Mesh.

    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.

  3. Se hai anche eseguito il deployment del piano dati facoltativo gestito da Google, annota lo demospazio dei nomi come segue:

    kubectl annotate --overwrite namespace YOUR_NAMESPACE \
    mesh.cloud.google.com/proxy='{"managed":"true"}'
    

Download e deployment dell'esempio

Ora che l'inserimento automatica è abilitata nello spazio dei nomi demo, quando esegui il deployment dei servizi dell'applicazione BookInfo, i proxy sidecar vengono inseriti insieme a ciascun servizio.

  1. Installa kpt se non lo hai già fatto:

    gcloud components install kpt
    
  2. Scarica l'anteprima utilizzando kpt:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/microservices-demo.git/release \
    online-boutique
    
  3. Esegui il deployment dell'esempio nel cluster:

    kubectl apply -n demo -f online-boutique
    
  4. Trova l'indirizzo IP esterno del servizio frontend-external:

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