Beispielanwendung Online Boutique auf Anthos Service Mesh bereitstellen

In dieser Anleitung wird erläutert, wie Sie die Beispielanwendung Online Boutique für Anthos Service Mesh installieren.

Vorbereitung

In diesem Leitfaden wird Folgendes vorausgesetzt:

Beispiel herunterladen und bereitstellen

  1. Laden Sie das Beispiel mit kpt herunter:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/microservices-demo.git/release \
    online-boutique
    
  2. Erstellen Sie einen Namespace für die Anwendung:

    kubectl create namespace demo
    
  3. Aktivieren Sie die automatische Sidecar-Injektion (automatische Injektion). Verwenden Sie den folgenden Befehl, um beim Dienst istiod nach dem Label zu suchen. Dort ist der Wert des Überarbeitungslabels enthalten, der in den späteren Schritten verwendet wird.

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

    Die Ausgabe sieht dann ungefähr so aus:

    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
    

    Notieren Sie sich den Wert des Überarbeitungslabels istiod aus der Ausgabe in der Spalte LABELS, das auf das Präfix istio.io/rev= folgt. In diesem Beispiel ist der Wert asm-186-8.

  4. Wenden Sie das Überarbeitungslabel auf den Namespace an. Im folgenden Befehl ist REVISION der Wert des Revisions-Labels istiod, den Sie im vorherigen Schritt notiert haben.

    kubectl label namespace demo istio-injection- istio.io/rev=REVISION --overwrite
    

    Sie können die Nachricht "istio-injection not found" in der Ausgabe ignorieren. Das bedeutet, dass der Namespace bisher nicht das Label istio-injection hatte, was bei Neuinstallationen von Anthos Service Mesh oder neuen Bereitstellungen zu erwarten wäre. Da die automatische Injektion fehlschlägt, wenn ein Namespace sowohl das istio-injection als auch das Überarbeitungslabel enthält, enthalten alle kubectl label-Befehle in der Anthos Service Mesh-Dokumentation das Label istio-injection.

  5. Stellen Sie das Beispiel im Cluster bereit:

    kubectl apply -n demo -f online-boutique
    
  6. Suchen Sie die externe IP-Adresse der Anwendung:

    kubectl get service frontend-external -n demo
    
  7. Rufen Sie die Anwendung in Ihrem Browser auf, um die Installation zu bestätigen:

    http://EXTERNAL_IP/
    

Für GKE können Sie die Anthos Service Mesh-Beobachtbarkeitsfeatures in der Google Cloud Console untersuchen. Beachten Sie, dass es bis zu 10 Minuten dauern kann, bis die Topologiegrafik die Dienste in Ihrem Mesh-Netzwerk anzeigt.

Wenn Sie fertig sind, entfernen Sie die Online-Boutique-Beispiel:

kubectl delete namespaces demo