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:
- Ein Google Cloud-Projekt
- Ein Cloud-Rechnungskonto
- Anthos Service Mesh in einem Cluster.
- Richten Sie die Umgebung ein.
Beispiel herunterladen und bereitstellen
Laden Sie das Beispiel mit
kpt
herunter:kpt pkg get \ https://github.com/GoogleCloudPlatform/microservices-demo.git/release \ online-boutique
Erstellen Sie einen Namespace für die Anwendung:
kubectl create namespace demo
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-178-10-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-178-10,istio=istiod,pod-template-hash=5788d57586 istiod-asm-178-10-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-178-10,istio=istiod,pod-template-hash=5788d57586
Notieren Sie sich den Wert des Überarbeitungslabels
istiod
aus der Ausgabe in der SpalteLABELS
, das auf das Präfixistio.io/rev=
folgt. In diesem Beispiel ist der Wertasm-178-10
.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 Labelistio-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 dasistio-injection
als auch das Überarbeitungslabel enthält, enthalten allekubectl label
-Befehle in der Anthos Service Mesh-Dokumentation das Labelistio-injection
.Stellen Sie das Beispiel im Cluster bereit:
kubectl apply -n demo -f online-boutique
Suchen Sie die externe IP-Adresse der Anwendung:
kubectl get service frontend-external -n demo
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