GKE-Cluster mit Cloud Service Mesh und der gcloud CLI erstellen

In dieser Anleitung stellen Sie verwaltetes Cloud Service Mesh mit der Fleet API von Google Kubernetes Engine (GKE) in einem neuen öffentlichen GKE-Cluster bereit. In dieser Anleitung wird Folgendes beschrieben:

  1. Google Cloud -Projekt konfigurieren
  2. GKE-Cluster mit der Mindestanzahl von vCPUs erstellen, die von Cloud Service Mesh benötigt werden
  3. Registrieren Sie den GKE-Cluster in der Flotte Ihres Projekts.
  4. Stellen Sie verwaltetes Cloud Service Mesh mithilfe der Fleet API im Cluster bereit.
  5. Ingress-Gateway zur Freigabe der Anwendung bereitstellen
  6. Beispielanwendung bereitstellen, um Telemetriedaten auf den Cloud Service Mesh-Dashboards in der Google Cloud -Konsole aufzurufen
  7. Beispielanwendung verfügbar machen und darauf zugreifen

Fleet API

In dieser Anleitung wird davon ausgegangen, dass Sie mit Flotten vertraut sind. Das sind logische Gruppierungen von GKE-Clustern und anderen Ressourcen, die zusammen verwaltet werden können. Eine Flotte ist ein GKE-Konzept – kein Kubernetes-Konzept. Wenn Sie einen Cluster bei einer Flotte registrieren, können Sie mit dem Befehl gcloud container fleet mesh update verwaltetes Cloud Service Mesh auf diesem Cluster bereitstellen. Die Verwendung von Flotten wird von der Fleet API (gkehub.googleapis.com) ermöglicht, die Sie zu Beginn dieser Anleitung aktivieren.

Kosten

In diesem Dokument verwenden Sie die folgenden kostenpflichtigen Komponenten von Google Cloud:

Mit dem Preisrechner können Sie eine Kostenschätzung für Ihre voraussichtliche Nutzung vornehmen.

Neuen Google Cloud Nutzern steht möglicherweise eine kostenlose Testversion zur Verfügung.

Nach Abschluss dieser Kurzanleitung können Sie weitere Kosten durch das Löschen des Clusters vermeiden. Weitere Informationen finden Sie unter Bereinigen.

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the GKE, Fleet (GKE Hub), and Cloud Service Mesh APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the GKE, Fleet (GKE Hub), and Cloud Service Mesh APIs.

    Enable the APIs

  8. Notieren Sie sich die Projekt-ID.
  9. Erforderliche Tools installieren

    Sie können das Tool in Cloud Shell oder auf Ihrem lokalen Computer ausführen. Cloud Shell installiert alle erforderlichen Tools vorab.

    Cloud Shell

    Cloud Shell stellt eine g1-small Compute Engine-VM bereit, auf der ein Debian-basiertes Linux-Betriebssystem ausgeführt wird. Cloud Shell bietet folgende Vorteile:

    • Cloud Shell umfasst gcloud, kubectl, git und die anderen erforderlichen Befehlszeilentools.

    • Ihr $HOME-Verzeichnis in Cloud Shell verfügt über 5 GB nichtflüchtigen Speicher.

    • Es stehen verschiedene Texteditoren zur Auswahl:

      • Code-Editor, auf den Sie zugreifen, indem Sie oben im Cloud Shell-Fenster auf klicken.

      • Emacs, Vim oder Nano, auf die Sie in Cloud Shell über die Befehlszeile zugreifen.

  10. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  11. Lokaler Computer

    1. Die folgenden Tools müssen installiert sind:

    2. Authentifizieren Sie sich mit Google Cloud-CLI:

      gcloud auth login --project PROJECT_ID
      
    3. Aktualisieren Sie die Komponenten:

      gcloud components update
      

    GKE-Cluster erstellen

    1. Führen Sie den folgenden Befehl aus, um den Cluster mit der Mindestanzahl von vCPUs zu erstellen, die für Cloud Service Mesh erforderlich ist. Ersetzen Sie im Befehl die Platzhalter durch folgende Informationen:

      • CLUSTER_NAME: Der Name Ihres Clusters. Der Name darf nur kleingeschriebene, alphanumerische Zeichen und - enthalten, muss mit einem Buchstaben beginnen und mit einem alphanumerischen Zeichen enden. Er darf nicht länger als 40 Zeichen sein.
      • PROJECT_ID: Die Projekt-ID, in der der Cluster erstellt wird.
      • CLUSTER_LOCATION: Die Zone des Clusters, z. B. us-central1-a.
      gcloud container clusters create CLUSTER_NAME \
          --project=PROJECT_ID \
          --zone=CLUSTER_LOCATION \
          --machine-type=e2-standard-4 \
          --num-nodes=2 \
          --workload-pool=PROJECT_ID.svc.id.goog
      

      Das Erstellen des Clusters dauert einige Minuten. Während der Cluster erstellt wird, zeigt der Befehl gcloud Folgendes an:

      Creating cluster CLUSTER_NAME in CLUSTER_LOCATION...working...
      

      Die erwartete Ausgabe nach erfolgreicher Erstellung sieht in etwa so aus:

      Creating cluster CLUSTER_NAME in CLUSTER_LOCATION...done.
      Created [https://container.googleapis.com/v1/projects/PROJECT_ID/zones/CLUSTER_LOCATION/clusters/CLUSTER_NAME].
      To inspect the contents of your cluster, go to: https://console.cloud.google.com/kubernetes/workload_/gcloud/CLUSTER_LOCATION/CLUSTER_NAME?project=PROJECT_ID
      kubeconfig entry generated for CLUSTER_NAME.
      NAME: CLUSTER_NAME
      LOCATION: CLUSTER_LOCATION
      MASTER_VERSION: 1.20.10-gke.1600
      MASTER_IP: 198.51.100.1
      MACHINE_TYPE: e2-standard-4
      NODE_VERSION: 1.20.10-gke.1600
      NUM_NODES: 2
      STATUS: RUNNING
      
    2. Rufen Sie die Anmeldedaten für die Authentifizierung ab, um mit dem Cluster zu interagieren.

      gcloud container clusters get-credentials CLUSTER_NAME \
          --project=PROJECT_ID \
          --zone=CLUSTER_LOCATION
      

      Erwartete Ausgabe:

      Fetching cluster endpoint and auth data.
      kubeconfig entry generated for CLUSTER_NAME.
      
    3. Legen Sie den aktuellen Kontext für kubectl auf den Cluster fest.

      kubectl config set-context CLUSTER_NAME
      

      Erwartete Ausgabe:

      Context "CLUSTER_NAME" created.
      

    Cloud Service Mesh bereitstellen

    Wenn Sie diese Seite seit dem Erstellen des Clusters nicht geschlossen haben, enthalten die Platzhalter die Werte, die Sie für den Befehl gcloud container clusters create eingegeben haben.

    1. Aktivieren Sie Cloud Service Mesh in der Flotte Ihres Projekts.

      gcloud container fleet mesh enable --project PROJECT_ID
      

      Die Ausgabe sieht etwa so aus:

      Waiting for Feature Service Mesh to be created...done.
      
    2. Registrieren Sie den Cluster in der Flotte des Projekts:

      gcloud container fleet memberships register CLUSTER_NAME-membership \
        --gke-cluster=CLUSTER_LOCATION/CLUSTER_NAME \
        --enable-workload-identity \
        --project PROJECT_ID
      

      Die Ausgabe sieht etwa so aus:

       Waiting for membership to be created...done.
       Finished registering to the Fleet.
      
    3. Stellen Sie verwaltetes Cloud Service Mesh mithilfe der Fleet API im Cluster bereit:

      gcloud container fleet mesh update \
        --management automatic \
        --memberships CLUSTER_NAME-membership \
        --project PROJECT_ID
      

      Die Ausgabe sieht etwa so aus:

      Waiting for Feature Service Mesh to be updated...done.
      
    4. Prüfen Sie, ob verwaltetes Cloud Service Mesh für den Cluster aktiviert wurde und bereit zur Verwendung ist:

      gcloud container fleet mesh describe --project PROJECT_ID
      

      Es kann etwa 10 Minuten dauern, bis Cloud Service Mesh bereitgestellt wird und im Cluster bereit ist. Wenn controlPlaneManagement.state: DISABLED oder controlPlaneManagement.state: PROVISIONING angezeigt wird, müssen Sie den vorherigen Befehl alle paar Minuten noch einmal ausführen, bis controlPlaneManagement.state: ACTIVE angezeigt wird.

      Die Ausgabe sieht etwa so aus:

      createTime: '2022-07-06T01:05:39.110120474Z'
      membershipSpecs:
        projects/123456789123/locations/global/memberships/your-cluster-membership:
          mesh:
            management: MANAGEMENT_AUTOMATIC
      membershipStates:
        projects/123456789123/locations/global/memberships/your-cluster-membership:
          servicemesh:
            controlPlaneManagement:
              details:
              - code: REVISION_READY
                details: 'Ready: asm-managed'
              state: ACTIVE
            dataPlaneManagement:
              details:
              - code: OK
                details: Service is running.
              state: ACTIVE
          state:
            code: OK
            description: 'Revision(s) ready for use: asm-managed.'
            updateTime: '2022-07-06T01:19:24.243993678Z'
      name: projects/your-project-id/locations/global/features/servicemesh
      resourceState:
        state: ACTIVE
      spec: {}
      state:
        state: {}
      updateTime: '2022-07-06T01:19:27.475885687Z'
      

    Beispielcode herunterladen

    Klonen Sie das Git-Repository, das den in dieser Anleitung verwendeten Beispielcode enthält:

       git clone https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git
    

    In den nächsten Abschnitten dieser Anleitung wird eine DIR_PATH-Variable verwendet. Legen Sie diese Variable auf den Pfad des geklonten anthos-service-mesh-packages-Repositorys fest (z. B. ./anthos-service-mesh-packages).

    Ingress-Gateway bereitstellen

    Cloud Service Mesh bietet Ihnen die Möglichkeit, Gateways als Teil Ihres Service Mesh bereitzustellen und zu verwalten. Ein Gateway beschreibt einen Load-Balancer, der am Rand des Mesh-Netzwerks arbeitet und eingehende oder ausgehende HTTP/TCP-Verbindungen empfängt. Gateways sind Envoy-Proxys, die Ihnen eine detaillierte Kontrolle über den in das Mesh-Netzwerk eingehenden und ausgehenden Traffic ermöglichen.

    1. Erstellen Sie einen Namespace für das Ingress-Gateway, falls Sie noch keinen haben. Gateways sind Nutzerarbeitslasten und sollten als Best Practice nicht im Namespace der Steuerungsebene bereitgestellt werden. Ersetzen Sie GATEWAY_NAMESPACE durch den Namen Ihres Namespace.

      kubectl create namespace GATEWAY_NAMESPACE
      

      Erwartete Ausgabe:

      namespace/GATEWAY_NAMESPACE created
      
    2. Aktivieren Sie die automatische Einfügung auf dem Gateway. Welche Schritte erforderlich sind, hängt davon ab, ob Sie Standardlabels für Einfügungen (Beispiel:istio-injection=enabled) oder die Überarbeitungslabel im Gateway-Namespace verwenden möchten. Das Standard-Überarbeitungs-Tag und das Überarbeitungslabel werden vom Sidecar-Injektor-Webhook dazu verwendet, eingefügte Proxys einer bestimmten Überarbeitung der Steuerungsebene zuzuordnen.

      Standard-Injektionslabels

      Wenden Sie die Standard-Injektionslabels auf den Namespace an.

      kubectl label namespace GATEWAY_NAMESPACE istio-injection=enabled istio.io/rev-
      

      Überarbeitungslabel

      1. Verwenden Sie den folgenden Befehl, um das Überarbeitungslabel für istiod zu finden:

        kubectl get deploy -n istio-system -l app=istiod -o \
          "jsonpath={.items[*].metadata.labels['istio\.io/rev']}{'\n'}"
        

        Der Befehl gibt das Überarbeitungslabel aus, das der Cloud Service Mesh-Version entspricht, z. B. asm-11910-9

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

        kubectl label namespace GATEWAY_NAMESPACE \
          istio.io/rev=REVISION --overwrite
        

        Erwartete Ausgabe:

        namespace/GATEWAY_NAMESPACE labeled
        

      Sie können die Nachricht "istio.io/rev" not found in der Ausgabe ignorieren. Das bedeutet, dass der Namespace bisher nicht das Label istio.io/rev hatte, was bei Neuinstallationen von Cloud Service Mesh oder neuen Bereitstellungen zu erwarten wäre. Da die automatische Injektion fehlschlägt, wenn ein Namespace sowohl das Label istio.io/rev als auch das Label istio-injection enthält, werden in allen kubectl label-Befehlen in der Cloud Service Mesh-Dokumentation beide Labels explizit angegeben.

      Wenn der Gateway-Namespace nicht gekennzeichnet ist, schlagen die istio-ingressgateway-Pods mit einem ImagePullBackOff-Fehler fehl, wenn das Gateway versucht, das auto-Image zu pullen. Dieses Bild sollte durch den Webhook ersetzt werden.

    3. Laden Sie die Beispielkonfigurationsdatei für das Ingress-Gateway im YAML-Format aus dem anthos-service-mesh-packages-Repository herunter.

    4. Wenden Sie die Beispielkonfiguration für das Ingress-Gateway im YAML-Format unverändert an oder ändern Sie sie nach Bedarf.

      kubectl apply -n GATEWAY_NAMESPACE \
        -f CONFIG_PATH/istio-ingressgateway
      

      Erwartete Ausgabe:

      deployment.apps/istio-ingressgateway created
      poddisruptionbudget.policy/istio-ingressgateway created
      horizontalpodautoscaler.autoscaling/istio-ingressgateway created
      role.rbac.authorization.k8s.io/istio-ingressgateway created
      rolebinding.rbac.authorization.k8s.io/istio-ingressgateway created
      service/istio-ingressgateway created
      serviceaccount/istio-ingressgateway created
      

    Best Practices für Gateways

    Online Boutique-Beispiel bereitstellen

    Die Online Boutique-Beispielanwendung im anthos-service-mesh-packages-Repository wird aus dem ursprünglichen Satz von Manifesten im microservices-demo-Repository modifiziert. Gemäß den Best Practices wird jeder Dienst in einem separaten Namespace mit einem eigenen Dienstkonto bereitgestellt.

    1. Erstellen Sie die Namespaces für die Anwendung:

      kubectl apply -f \
        DIR_PATH/samples/online-boutique/kubernetes-manifests/namespaces
      

      Erwartete Ausgabe:

      namespace/ad created
      namespace/cart created
      namespace/checkout created
      namespace/currency created
      namespace/email created
      namespace/frontend created
      namespace/loadgenerator created
      namespace/payment created
      namespace/product-catalog created
      namespace/recommendation created
      namespace/shipping created
      
    2. Aktivieren Sie die automatische Sidecar-Injektion (automatische Injektion). Der erforderliche Befehl hängt davon ab, ob Sie Standard-Injektionslabels (z. B. istio-injection=enabled) oder dasselbe Überarbeitungslabel verwenden möchten, mit dem Sie den Namespace des Ingress-Gateways annotiert haben.

      Standard-Injektionslabels

      Wenden Sie die Standard-Injektionslabels auf den Namespace an. Im folgenden Befehl ist GATEWAY_NAMESPACE der Wert, mit dem Sie den Namespace des Ingress-Gateways annotiert haben.

      for ns in ad cart checkout currency email frontend loadgenerator payment product-catalog recommendation shipping; do
        kubectl label namespace $ns istio-injection=enabled istio.io/rev-
      done;
      

      Erwartete Ausgabe:

      namespace/ad labeled
      namespace/cart labeled
      namespace/checkout labeled
      namespace/currency labeled
      namespace/email labeled
      namespace/frontend labeled
      namespace/loadgenerator labeled
      namespace/payment labeled
      namespace/product-catalog labeled
      namespace/recommendation labeled
      namespace/shipping labeled
      

      Überarbeitungslabel

      Wenden Sie das Überarbeitungslabel auf die Anwendungs-Namespaces an. Im folgenden Befehl ist REVISION der Wert, mit dem Sie den Namespace des Ingress-Gateways annotiert haben.

      for ns in ad cart checkout currency email frontend loadgenerator payment product-catalog recommendation shipping; do
        kubectl label namespace $ns istio.io/rev=REVISION --overwrite
      done;
      

      Erwartete Ausgabe:

      namespace/ad labeled
      namespace/cart labeled
      namespace/checkout labeled
      namespace/currency labeled
      namespace/email labeled
      namespace/frontend labeled
      namespace/loadgenerator labeled
      namespace/payment labeled
      namespace/product-catalog labeled
      namespace/recommendation labeled
      namespace/shipping labeled
      
    3. Stellen Sie die Beispielanwendung im Cluster bereit:

      1. Erstellen Sie die Dienstkonten und Deployments:

        kubectl apply -f \
         DIR_PATH/samples/online-boutique/kubernetes-manifests/deployments
        

        Erwartete Ausgabe:

        serviceaccount/ad created
        deployment.apps/adservice created
        serviceaccount/cart created
        deployment.apps/cartservice created
        serviceaccount/checkout created
        deployment.apps/checkoutservice created
        serviceaccount/currency created
        deployment.apps/currencyservice created
        serviceaccount/email created
        deployment.apps/emailservice created
        serviceaccount/frontend created
        deployment.apps/frontend created
        serviceaccount/loadgenerator created
        deployment.apps/loadgenerator created
        serviceaccount/payment created
        deployment.apps/paymentservice created
        serviceaccount/product-catalog created
        deployment.apps/productcatalogservice created
        serviceaccount/recommendation created
        deployment.apps/recommendationservice created
        serviceaccount/shipping created
        deployment.apps/shippingservice created
        
      2. Erstellen Sie die Dienste:

        kubectl apply -f \
         DIR_PATH/samples/online-boutique/kubernetes-manifests/services
        

        Erwartete Ausgabe:

        service/adservice created
        service/cartservice created
        service/checkoutservice created
        service/currencyservice created
        service/emailservice created
        service/frontend created
        service/frontend-external created
        service/paymentservice created
        service/productcatalogservice created
        service/recommendationservice created
        service/shippingservice created
        
      3. Erstellen Sie die Diensteinträge:

        kubectl apply -f \
         DIR_PATH/samples/online-boutique/istio-manifests/allow-egress-googleapis.yaml
        

        Erwartete Ausgabe:

        serviceentry.networking.istio.io/allow-egress-googleapis created
        serviceentry.networking.istio.io/allow-egress-google-metadata created
        

    Anwendung freigeben und darauf zugreifen

    Es gibt mehrere Möglichkeiten, die Anwendung freizugeben. In dieser Anleitung verwenden wir dazu das oben bereitgestellte Ingress-Gateway. Weitere Möglichkeiten zur Freigabe der Online Boutique-Anwendung finden Sie im Abschnitt Anwendung freigeben und darauf zugreifen im Leitfaden für die Online Boutique-Beispielanwendung.

    1. Stellen Sie Gateway und VirtualService für den Frontend-Dienst bereit

      kubectl apply -f \
          DIR_PATH/samples/online-boutique/istio-manifests/frontend-gateway.yaml
      

      Erwartete Ausgabe:

      gateway.networking.istio.io/frontend-gateway created
      virtualservice.networking.istio.io/frontend-ingress created
      
    2. Rufen Sie die externe IP-Adresse des Ingress-Gateways ab und ersetzen Sie die Platzhalter durch folgende Informationen:

      • GATEWAY_SERVICE_NAME: Der Name des Ingress-Gateway-Dienstes. Wenn Sie das Beispiel-Gateway ohne Änderung bereitgestellt haben, wäre dies istio-ingressgateway.
      • GATEWAY_NAMESPACE: Der Namespace, in dem Sie das Ingress-Gateway bereitgestellt haben:
      kubectl get service GATEWAY_SERVICE_NAME \
          -n GATEWAY_NAMESPACE
      

      Die Ausgabe sieht etwa so aus:

      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-Gateways 35.239.7.64.

    3. Rufen Sie die Anwendung in Ihrem Browser auf, um die Installation zu bestätigen:

      http://EXTERNAL_IP/
      

    Service Mesh-Dashboards aufrufen

    Nachdem Sie Arbeitslasten mit den eingefügten Sidecar-Proxys auf Ihrem Cluster bereitgestellt haben, können Sie die Cloud Service Mesh-Seiten in der Google Cloud Console aufrufen, um alle Beobachtbarkeitsfunktionen von Cloud Service Mesh zu sehen. Nach der Bereitstellung von Arbeitslasten dauert es etwa ein oder zwei Minuten, bis Telemetriedaten in derGoogle Cloud -Konsole angezeigt werden.

    Der Zugriff auf Cloud Service Mesh in der Google Cloud Console wird durch die Identitäts- und Zugriffsverwaltung (Identity and Access Management, IAM) gesteuert. Für den Zugriff auf Cloud Service Mesh-Seiten muss ein Projektinhaber den Nutzern die Rolle „Projektbearbeiter“ oder „Betrachter“ oder die unter Zugriff auf Cloud Service Mesh in der Google Cloud Console steuern beschriebenen restriktiveren Rollen gewähren.

    1. Rufen Sie in der Google Cloud Console Cloud Service Mesh auf.

      Cloud Service Mesh aufrufen

    2. Wählen Sie das Google Cloud Projekt aus der Drop-down-Liste in der Menüleiste aus.

    3. Wenn Sie mehr als ein Service Mesh haben, wählen Sie das Mesh aus der Drop-down-Liste Service Mesh aus.

    Weitere Informationen finden Sie unter Cloud Service Mesh in der Google Cloud Console kennenlernen.

    Bereinigen

    Wenn Sie mehr über gegenseitiges TLS erfahren möchten, lesen Sie Cloud Service Mesh mit Beispiel: mTLS.

    • Wenn Sie den Cluster behalten und das Online Boutique-Beispiel entfernen möchten:

      1. Löschen Sie die Anwendungs-Namespaces:

        kubectl delete -f DIR_PATH/samples/online-boutique/kubernetes-manifests/namespaces
        

        Erwartete Ausgabe:

        namespace "ad" deleted
        namespace "cart" deleted
        namespace "checkout" deleted
        namespace "currency" deleted
        namespace "email" deleted
        namespace "frontend" deleted
        namespace "loadgenerator" deleted
        namespace "payment" deleted
        namespace "product-catalog" deleted
        namespace "recommendation" deleted
        namespace "shipping" deleted
        
      2. Löschen Sie die Diensteinträge:

        kubectl delete -f DIR_PATH/samples/online-boutique/istio-manifests/allow-egress-googleapis.yaml
        

        Erwartete Ausgabe:

        serviceentry.networking.istio.io "allow-egress-googleapis" deleted
        serviceentry.networking.istio.io "allow-egress-google-metadata" deleted
        
    • Wenn Sie zusätzliche Gebühren vermeiden möchten, löschen Sie den Cluster:

      1. Führen Sie dazu diesen Befehl aus:

        gcloud container clusters delete CLUSTER_NAME \
            --project=PROJECT_ID \
            --zone=CLUSTER_LOCATION
        
      2. Geben Sie für die Eingabeaufforderung Möchten Sie fortfahren (J/N)? J ein.

        Nach einigen Minuten wird folgende Ausgabe angezeigt:

        Deleting cluster CLUSTER_NAME...done.
        Deleted [https://container.googleapis.com/v1/projects/PROJECT_ID/zones/CLUSTER_LOCATION/clusters/CLUSTER_NAME].
        

    Nächste Schritte