Mehr erfahren

Auf dieser Seite wird beschrieben, wie Sie Ihre Umgebung und Ihren Cluster für die Installation von Anthos Service Mesh vorbereiten.

Erforderliche Tools installieren

Sie können asmcli in Cloud Shell oder auf Ihrem lokalen Computer ausführen, auf dem Linux ausgeführt wird. Cloud Shell installiert alle erforderlichen Tools vorab.

Wenn Sie asmcli lokal ausführen, achten Sie darauf, dass die folgenden Tools installiert sind:

gcloud konfigurieren

Führen Sie die folgenden Schritte auch dann aus, wenn Sie Cloud Shell verwenden.

  1. Authentifizieren Sie sich mit dem Google Cloud CLI:

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

    gcloud components update
    
  3. Wenn Sie Anthos Service Mesh in einem GKE-Cluster installieren, konfigurieren Sie kubectl so, dass auf den Cluster verwiesen wird.

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

asmcli herunterladen

In diesem Abschnitt wird beschrieben, wie Sie asmcli herunterladen.

  1. Laden Sie die Version herunter, mit der Anthos Service Mesh 1.10.6 in das aktuelle Arbeitsverzeichnis installiert wird:

    curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_alpha > asmcli
    
  2. Machen Sie das Skript ausführbar:

    chmod +x asmcli
    

Administratorberechtigungen für Cluster erteilen

  1. Wechseln Sie den Kontext zu Ihrem Nutzercluster:

    kubectl config use-context CLUSTER_NAME
  2. Gewähren Sie dem Nutzerkonto Administratorberechtigungen (Ihre E-Mail-Adresse für die Anmeldung in Google Cloud). Sie benötigen diese Berechtigungen, um die erforderlichen Regeln für die rollenbasierte Zugriffssteuerung (Role Based Access Control, RBAC) für Anthos Service Mesh zu erstellen:

    kubectl create clusterrolebinding cluster-admin-binding \
      --clusterrole=cluster-admin \
      --user=USER_ACCOUNT

Validieren Sie Projekt und Cluster.

Sie können asmcli validate ausführen, um dafür zu sorgen, dass Ihr Projekt und Ihr Cluster zur Installation von Anthos Service Mesh eingerichtet sind. Mit dieser Option nimmt asmcli keine Änderungen an Ihrem Projekt oder Cluster vor und installiert Anthos Service Mesh nicht.

Das Skript prüft, ob Folgendes gegeben ist:

Standardmäßig lädt das Skript die Installationsdatei herunter und extrahiert sie. Außerdem lädt es das GitHub-Konfigurationspaket asm in ein temporäres Verzeichnis herunter. Vor dem Beenden gibt das Skript eine Nachricht mit dem Namen des temporären Verzeichnisses aus. Wir empfehlen, mit der Option --output_dir DIR_PATH ein Verzeichnis für die Downloads anzugeben. Die Option --output_dir gibt Ihnen die Möglichkeit, bei Bedarf auf einfache Weise das istioctl-Befehlszeilentool zu verwenden. Außerdem sind die Konfigurationsdateien zum Aktivieren optionaler Features im Verzeichnis asm/istio/options enthalten.

Führen Sie den folgenden Befehl aus, um Ihre Konfiguration zu validieren und um die Installationsdatei sowie das Paket asm in das Verzeichnis OUTPUT_DIR herunterzuladen.

GKE

./asmcli validate \
  --project_id PROJECT_ID \
  --cluster_name CLUSTER_NAME \
  --cluster_location CLUSTER_LOCATION \
  --output_dir DIR_PATH
  • --project_id, --cluster_name und --cluster_location geben die Projekt-ID des Clusters, den Clusternamen und die Clusterzone oder -region an.

    • --output_dir: Fügen Sie diese Option hinzu, um ein Verzeichnis anzugeben, in das asmcli das Paket asm herunterlädt und in dem die Installationsdatei extrahiert wird, die istioctl, Beispiele und Manifeste enthält. Andernfalls lädt asmcli die Dateien in ein tmp-Verzeichnis herunter. Sie können entweder einen relativen Pfad oder einen vollständigen Pfad angeben. Die Umgebungsvariable $PWD funktioniert hier nicht.

Lokal

  1. Legen Sie Ihren Nutzercluster als aktuellen Kontext fest:

    kubectl config use-context CLUSTER_NAME
    
  2. Führen Sie den folgenden Befehl aus, um Ihre Konfiguration zu validieren und um die Installationsdatei sowie das Paket asm in das Verzeichnis OUTPUT_DIR herunterzuladen:

    ./asmcli validate \
      --kubeconfig KUBECONFIG_FILE \
      --output_dir DIR_PATH \
      --platform multicloud
    
    • --kubeconfig: Pfad zur kubeconfig. Sie können entweder einen relativen Pfad oder einen vollständigen Pfad angeben. Die Umgebungsvariable $PWD funktioniert hier nicht.

    • --output_dir: Fügen Sie diese Option hinzu, um ein Verzeichnis anzugeben, in das asmcli das Paket asm herunterlädt und in dem die Installationsdatei extrahiert wird, die istioctl, Beispiele und Manifeste enthält. Andernfalls lädt asmcli die Dateien in ein tmp-Verzeichnis herunter. Sie können entweder einen relativen Pfad oder einen vollständigen Pfad angeben. Die Umgebungsvariable $PWD funktioniert hier nicht.

    • --platform multicloud: Gibt an, dass die Plattform lokal ist.

Bei Erfolg gibt das Skript Folgendes aus:

asmcli: Setting up necessary files...
asmcli: Using asm_kubeconfig as the kubeconfig...
asmcli: Checking installation tool dependencies...
asmcli: Fetching/writing GCP credentials to kubeconfig file...
asmcli: Verifying connectivity (10s)...
asmcli: kubeconfig set to asm_kubeconfig
asmcli: using context gke_example-project-12345_us-central1_cluster-2
asmcli: Getting account information...
asmcli: Downloading ASM..
asmcli: Downloading ASM kpt package...
fetching package "/asm" from "https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages" to "asm"
asmcli: Checking required APIs...
asmcli: Checking for project example-project-12345...
asmcli: Reading labels for us-central1/cluster-2...
asmcli: Checking for istio-system namespace...
asmcli: Confirming node pool requirements for example-project-12345/us-central1/cluster-2...
asmcli: Checking Istio installations...
asmcli: [WARNING]: There is no way to validate that the meshconfig API has been initialized.
asmcli: [WARNING]: This needs to happen once per GCP project. If the API has not been initialized
asmcli: [WARNING]: for example-project-12345, please re-run this tool with the --enable_gcp_components
asmcli: [WARNING]: flag. Otherwise, installation will succeed but Anthos Service Mesh
asmcli: [WARNING]: will not function correctly.
asmcli: Successfully validated all requirements to install ASM.

Wenn einer der Tests die Validierung nicht besteht, gibt das Skript eine Fehlermeldung aus. Wenn bei Ihrem Projekt beispielsweise nicht alle erforderlichen Google APIs aktiviert sind, wird der folgende Fehler angezeigt:

ERROR: One or more APIs are not enabled. Please enable them and retry, or run
the script with the '--enable_gcp_apis' flag to allow the script to enable them
on your behalf.

Wenn Sie eine Fehlermeldung erhalten, dass das Skript mit einem Aktivierungs-Flag ausgeführt werden muss, haben Sie die folgenden Optionen:

  • Fügen Sie das spezifische Flag aus der Fehlermeldung oder das Flag --enable_all hinzu, wenn Sie das Skript ausführen, um die eigentliche Installation vorzunehmen (d. h. ohne --only_validate).

  • Sie können Ihr Projekt und Ihren Cluster auch selbst aktualisieren, bevor Sie das Skript ausführen. Weitere Informationen dazu finden Sie unter Anthos Service Mesh in GKE zur Installation einrichten.

Beachten Sie, dass asmcli keine Aktivierungs-Flags mit --only_validate zulässt.

Anforderungen an Installation und Upgrades für Cluster prüfen

Prüfen Sie vor dem Upgrade, ob Ihre Konfiguration mit der neuen Version von Anthos Service Mesh kompatibel ist.

  1. Wechseln Sie zu dem Verzeichnis, das Sie in --output_dir angegeben haben.

  2. Führen Sie den folgenden Befehl aus, um den Kubernetes-Cluster auf die erforderlichen Installations- und Upgrade-Anforderungen zu prüfen. Verwenden Sie die Version von istioctl, die mit der neuen Anthos Service Mesh-Version verteilt ist.

    istioctl experimental precheck
    

Nächste Schritte