Anthos Service Mesh 1.6

Bookinfo bereitstellen

Auf dieser Seite wird beschrieben, wie Sie eine Beispielanwendung in einem GKE On-Prem oder Google Kubernetes Engine-Cluster bereitstellen, auf dem Anthos Service Mesh bereits installiert ist. Wenn Sie Anthos Service Mesh nicht installiert haben, lesen Sie den Abschnitt Installationsanleitungen, um die entsprechende Anleitung auszuwählen.

In der Anthos Service Mesh-Installation sind mehrere Beispielanwendungen enthalten. In dieser Anleitung wird beschrieben, wie Sie das Beispiel BookInfo bereitstellen. Hierbei handelt es sich um eine einfache Nachbildung einer Buchhandlung, die aus vier Diensten besteht, die eine Webproduktseite, Buchdetails, Rezensionen (mit mehreren Versionen des Rezensionsdienstes) sowie Bewertungen bieten. Alle werden mit Anthos Service Mesh verwaltet. Den Quellcode und alle anderen Dateien, die in diesem Beispiel genutzt werden, finden Sie im Verzeichnis samples/bookinfo Ihrer Anthos Service Mesh-Installation.

Anwendung bereitstellen

Führen Sie die folgenden Schritte aus, um die Dienste der BookInfo-Anwendung mit den in jedem Dienst eingefügten Sidecar-Proxys bereitzustellen.

  1. Wechseln Sie in der Befehlszeile des Computers, auf dem Sie Anthos Service Mesh installiert haben, zum Stammverzeichnis des Anthos Service Mesh-Installationsverzeichnisses.

  2. Kennzeichnen Sie den Namespace, der die Anwendung hostet, mit istio-injection=enabled:

    kubectl label namespace default istio-injection=enabled
  3. Stellen Sie Ihre Anwendung mit kubectl bereit:

    kubectl apply -f samples/bookinfo/platform/kube/bookinfo.yaml
  4. Führen Sie die folgenden Befehle aus, um zu bestätigen, dass die Anwendung fehlerfrei bereitgestellt wurde:

    kubectl get services
    Ausgabe:
    NAME                       CLUSTER-IP   EXTERNAL-IP   PORT(S)              AGE
    details                    10.0.0.31    <none>        9080/TCP             6m
    kubernetes                 10.0.0.1     <none>        443/TCP              7d
    productpage                10.0.0.120   <none>        9080/TCP             6m
    ratings                    10.0.0.15    <none>        9080/TCP             6m
    reviews                    10.0.0.170   <none>        9080/TCP             6m

    und

    kubectl get pod
    Ausgabe:
    NAME                                        READY     STATUS    RESTARTS   AGE
    details-v1-1520924117-48z17                 2/2       Running   0          6m
    productpage-v1-560495357-jk1lz              2/2       Running   0          6m
    ratings-v1-734492171-rnr5l                  2/2       Running   0          6m
    reviews-v1-874083890-f0qf0                  2/2       Running   0          6m
    reviews-v2-1343845940-b34q5                 2/2       Running   0          6m
    reviews-v3-1813607990-8ch52                 2/2       Running   0          6m
  5. Definieren Sie abschließend das Ingress-Gateway-Routing für die Anwendung:

    kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml
    

Anwendungsbereitstellung validieren

Zum Prüfen, ob die BookInfo-Anwendung funktioniert, müssen Sie Traffic an das Ingress-Gateway senden.

  • Wenn Sie Anthos Service Mesh in GKE On-Prem installiert haben, rufen Sie die externe IP-Adresse für das Ingress-Gateway ab, das Sie nach der Installation von Anthos Service Mesh konfiguriert haben.

  • Wenn Sie Anthos Service Mesh in GKE installiert haben, erhalten Sie die externe IP-Adresse des Ingress-Gateways:

    kubectl get svc istio-ingressgateway -n istio-system
    
    Ausgabe:
    NAME                   TYPE           CLUSTER-IP      EXTERNAL-IP   PORT(S)                                      AGE
    istio-ingressgateway   LoadBalancer   10.19.247.233   35.239.7.64   80:31380/TCP,443:31390/TCP,31400:31400/TCP   27m

    In diesem Beispiel lautet die IP-Adresse des Ingress-Dienstes 35.239.7.64.

Anwendung testen

  1. Prüfen Sie, ob die BookInfo-Anwendung mit curl ausgeführt wird:

    curl -I http://EXTERNAL_IP/productpage

    Wenn in der Antwort 200 angezeigt wird, bedeutet dies, dass die Anwendung fehlerfrei mit Anthos Service Mesh funktioniert.

  2. Geben Sie die folgende Adresse in Ihren Browser ein, um die BookInfo-Webseite aufzurufen:

    http://EXTERNAL_IP/productpage

    Wenn Sie die Seite mehrmals aktualisieren, sollten auf der Produktseite verschiedene Versionen der Rezensionen in zufälliger Abfolge angezeigt werden (rote Sterne, schwarze Sterne, keine Sterne).

Da Ihre Anwendung Traffic generiert, können Sie sich die Anthos Service Mesh-Seiten in der Cloud Console ansehen, um Messwerte und andere Beobachtbarkeitsfunktionen aufzurufen.

Weitere Informationen

Weitere Informationen zum Bookinfo-Beispiel

Bereinigen

Wenn Sie mit dem Testen des Bookinfo-Beispiels fertig sind, entfernen Sie es aus Ihrem Cluster.

  1. Deinstallieren Sie Bookinfo mit dem folgenden Skript:

    samples/bookinfo/platform/kube/cleanup.sh
  2. Bestätigen Sie das Herunterfahren:

    kubectl get services
    kubectl get pods

    Die Bookinfo-Pods sollten gelöscht werden.