Anthos Service Mesh in GKE zur Installation einrichten

Auf dieser Seite wird die Einrichtung des Anthos Service Mesh für Ihr Cloud-Projekt und Google Kubernetes Engine-Cluster (GKE) für ein Mesh-Netzwerk aus Clustern, die sich im selben Projekt befinden, erklärt. Wenn Sie das von Google bereitgestellte Skript install_asm verwenden, kann das Skript Ihr Projekt und Ihren Cluster für Sie konfigurieren, wenn Sie das Flag --enable_all oder die detaillierteren Flags für die Aktivierungangeben. Folgen Sie der Anleitung auf dieser Seite, wenn Sie die Änderungen lieber selbst vornehmen möchten, ohne dass install_asm die Änderungen vornimmt. Wenn Sie bereits eine frühere Version von Anthos Service Mesh installiert haben, müssen Sie keine Änderungen an Ihrem Projekt oder Cluster vornehmen, bevor Sie mit install_asm ein Upgrade auf die neueste Version von Anthos Service Mesh durchführen.

Hinweise

Projekt einrichten

  1. Rufen Sie die Projekt-ID und die Projektnummer des Projekts ab, in dem der Cluster erstellt wurde.

    gcloud

    Führen Sie dazu diesen Befehl aus:

    gcloud projects list
    

    Console

    1. Wechseln Sie in der Google Cloud Console zur Seite Dashboard.

      Zur Seite "Dashboard"

    2. Klicken Sie oben auf der Seite auf die Drop-down-Liste. Wählen Sie im angezeigten Fenster Auswählen aus Ihr Projekt aus.

      Die Projekt-ID und die Projektnummer werden auf der Dashboard-Karte Projektinformationen des Projekts angezeigt:

  2. Erstellen Sie die folgenden Umgebungsvariablen:

    • Legen Sie den Arbeitslastpool mithilfe der Projekt-ID fest:

      export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
      
    • Legen Sie die Mesh-ID mithilfe der Projektnummer fest:

      export MESH_ID="proj-PROJECT_NUMBER"
      
  3. Legen Sie die erforderlichen IAM-Rollen (Identitäts- und Zugriffsverwaltung) fest. Wenn Sie Projektinhaber sind, haben Sie alle erforderlichen Berechtigungen, um die Installation abzuschließen. Wenn Sie kein Projektinhaber sind, benötigen Sie jemanden, der Ihnen die folgenden spezifischen IAM-Rollen zuweisen kann. Ersetzen Sie im folgenden Befehl PROJECT_ID durch die Projekt-ID aus dem vorherigen Schritt und GCP_EMAIL_ADDRESS durch das Konto, mit dem Sie sich bei Google Cloud anmelden.

    ROLES=(
    'roles/servicemanagement.admin' \
    'roles/serviceusage.serviceUsageAdmin' \
    'roles/meshconfig.admin' \
    'roles/compute.admin' \
    'roles/container.admin' \
    'roles/resourcemanager.projectIamAdmin' \
    'roles/iam.serviceAccountAdmin' \
    'roles/iam.serviceAccountKeyAdmin' \
    'roles/gkehub.admin')
    for role in "${ROLES[@]}"
    do
      gcloud projects add-iam-policy-binding PROJECT_ID \
        --member "user:GCP_EMAIL_ADDRESS" \
        --role="$role"
    done
    

    Wenn Sie beim Ausführen von install_asm das Flag --enable_all oder --enable_gcp_iam_roles angeben, werden die erforderlichen IAM-Rollen für Sie festgelegt.

  4. Aktivieren Sie folgende Google APIs:

    gcloud services enable \
        --project=PROJECT_ID \
        container.googleapis.com \
        compute.googleapis.com \
        monitoring.googleapis.com \
        logging.googleapis.com \
        cloudtrace.googleapis.com \
        meshca.googleapis.com \
        meshtelemetry.googleapis.com \
        meshconfig.googleapis.com \
        iamcredentials.googleapis.com \
        gkeconnect.googleapis.com \
        gkehub.googleapis.com \
        cloudresourcemanager.googleapis.com \
        stackdriver.googleapis.com
    

    Die Aktivierung der APIs kann einige Minuten dauern. Wenn die APIs aktiviert sind, sieht die Ausgabe in etwa so aus:

    Operation "operations/acf.601db672-88e6-4f98-8ceb-aa3b5725533c" finished
    successfully.
    

    Wenn Sie beim Ausführen von install_asm das Flag --enable_all oder --enable_apis angeben, werden die erforderlichen APIs für Sie aktiviert.

Cluster einrichten

Wenn Sie den Parameter-Flag --enable_all oder einen der detaillierteren Flags für die Aktivierung einschließen, richtet das install_asm-Skript Ihren Cluster ein.

  1. Legen Sie die Standardzone oder -region für das Google Cloud-CLI fest. Wenn Sie hier keine Standardeinstellung festlegen, müssen Sie in den gcloud container clusters-Befehlen auf dieser Seite entweder die Option --zone oder --region angeben.

    • Wenn Sie einen Cluster mit einer einzelnen Zone haben, legen Sie die Standardzone fest:

      gcloud config set compute/zone CLUSTER_LOCATION
      
    • Wenn Sie einen regionalen Cluster haben, legen Sie die Standardregion fest:

      gcloud config set compute/region CLUSTER_LOCATION
      
  2. Legen Sie das Label mesh_id für den Cluster fest. Wenn Sie die vorhandenen Labels des Clusters übernehmen möchten, müssen Sie diese Labels beim Hinzufügen des Labels mesh_id angeben.

    1. So prüfen Sie, ob Ihr Cluster vorhandene Labels hat:

      gcloud container clusters describe CLUSTER_NAME \
          --project PROJECT_ID
      

      Suchen Sie in der Ausgabe nach dem Feld resourceLabels. Jedes Label wird in einer separaten Zeile unter dem Feld resourceLabels gespeichert. Beispiel:

      resourceLabels:
        csm: ''
        env: dev
        release: stable

      Zur Vereinfachung können Sie die Labels einer Umgebungsvariablen hinzufügen. Ersetzen Sie im Folgenden YOUR_EXISTING_LABELS durch eine durch Kommas getrennte Liste der vorhandenen Labels im Cluster im Format KEY=VALUE. Beispiel: env=dev,release=stable

      export EXISTING_LABELS="YOUR_EXISTING_LABELS"
      
    2. Legen Sie das Label mesh_id fest:

      • Wenn Ihr Cluster bereits vorhandene Labels hat, die Sie beibehalten möchten, aktualisieren Sie den Cluster mit der mesh_id und den vorhandenen Labels:

        gcloud container clusters update CLUSTER_NAME \
            --project PROJECT_ID \
            --update-labels=mesh_id=${MESH_ID},${EXISTING_LABELS}
        
      • Wenn der Cluster keine vorhandenen Labels hat, aktualisieren Sie den Cluster nur mit dem Label mesh_id:

        gcloud container clusters update CLUSTER_NAME \
            --project=PROJECT_ID \
            --update-labels=mesh_id=${MESH_ID}
        
  3. Aktivieren Sie Workload Identity:

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --workload-pool=${WORKLOAD_POOL}
    

    Die Aktivierung von Workload Identity kann bis zu 10 bis 15 Minuten dauern.

  4. Aktivieren Sie Cloud Monitoring und Cloud Logging in GKE:

    gcloud container clusters update CLUSTER_NAME \
        --project=PROJECT_ID \
        --enable-stackdriver-kubernetes
    

Nächste Schritte

Ihr Projekt und Ihr GKE-Cluster sind jetzt für eine neue Installation oder Migration von Istio mit install_asm bereit. Wenn Sie Anthos Service Mesh mit dem Profil install_asm installieren, führt das Skript Folgendes aus:

  1. Validiert Ihr Projekt und den Cluster.
  2. Konfiguriert die erforderlichen benutzerdefinierten IstioOperator-Ressourcendateien mit Ihren Projekt- und Clusterinformationen, um Standardfeatures zu aktivieren.
  3. Ruft istioctl install auf. Sie können zusätzliche benutzerdefinierte IstioOperator-Ressourcendateien angeben, wenn Sie install_asm aufrufen, um optionale Features zu aktivieren.