Abhängige Tools installieren und Cluster prüfen
Auf dieser Seite wird beschrieben, wie Sie Ihre Umgebung und Ihren Cluster für die Installation von Cloud Service Mesh in GKE 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:
- Die Google Cloud CLI
- Die Standard-Befehlszeilentools:
awk,curl,grep,sedundtr. gitkubectljq- (Optional, um die Konnektivität zu testen) netcat (
nc)
gcloud konfigurieren
Führen Sie die folgenden Schritte auch dann aus, wenn Sie Cloud Shell verwenden.
Authentifizieren Sie sich mit dem Google Cloud CLI:
gcloud auth login --project PROJECT_IDAktualisieren Sie die Komponenten:
gcloud components updateKonfigurieren Sie
kubectlso, dass es auf den Cluster verweist.gcloud container clusters get-credentials CLUSTER_NAME \ --location CLUSTER_LOCATION \ --project PROJECT_ID
asmcli herunterladen
In diesem Abschnitt wird beschrieben, wie Sie asmcli herunterladen.
Laden Sie die Version herunter, mit der Cloud Service Mesh 1.27.1 in das aktuelle Arbeitsverzeichnis installiert wird:
curl https://storage.googleapis.com/csm-artifacts/asm/asmcli_1.27 > asmcliErwartete Ausgabe:
% Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 167k 100 167k 0 0 701k 0 --:--:-- --:--:-- --:--:-- 701kMachen Sie das Skript ausführbar:
chmod +x asmcli
Administratorberechtigungen für Cluster erteilen
Achten Sie darauf, dass Sie den Kontext auf Ihren Nutzercluster festgelegt haben:
kubectl config use-context CONTEXT
Gewähren Sie dem Nutzerkonto Administratorberechtigungen (Ihrer Google Cloud E-Mail-Adresse für die Anmeldung). Sie benötigen diese Berechtigungen, um die erforderlichen Regeln für die rollenbasierte Zugriffssteuerung (Role Based Access Control, RBAC) für Cloud 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 Cloud Service Mesh eingerichtet sind. Mit dieser Option nimmt asmcli keine Änderungen an Ihrem Projekt oder Cluster vor und installiert Cloud Service Mesh nicht.
asmcli validiert Folgendes:
Ihre Umgebung enthält die erforderlichen Tools.
Der Cluster erfüllt die Mindestanforderungen.
Sie haben die erforderlichen Berechtigungen für das angegebene Projekt.
Für das Projekt sind alle erforderlichen Google APIs aktiviert.
Standardmäßig lädt asmcli die Installationsdatei herunter und extrahiert sie und lädt das asm-Konfigurationspaket in ein temporäres Verzeichnis herunter. Vor dem Beenden gibt asmcli eine Nachricht aus, die den Namen des temporären Verzeichnisses enthält.
Wir empfehlen, mit der Option --output_dir DIR_PATH ein Verzeichnis für die Downloads anzugeben. Mit der Option --output_dir können Sie bequem das istioctl-Befehlszeilentool nutzen. Möglicherweise benötigen Sie istioctl zur Behebung von Konfigurationsproblemen oder zum Einrichten eines Multi-Cluster-Mesh-Netzwerks in privaten GKE-Clustern. Außerdem sind die Konfigurationsdateien zum Aktivieren optionaler Funktionen mit asmcli 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.
./asmcli validate \
--project_id PROJECT_ID \
--cluster_name CLUSTER_NAME \
--cluster_location CLUSTER_LOCATION \
--fleet_id FLEET_PROJECT_ID \
--output_dir DIR_PATH
--project_id,--cluster_nameund--cluster_locationgeben die Projekt-ID des Clusters, den Clusternamen und die Clusterzone oder -region an.--fleet_id: Projekt-ID des Hostprojekts der Flotte.asmcli validateprüft, ob der Cluster bei der angegebenen Flotte registriert ist.--output_dir: Fügen Sie diese Option hinzu, um ein Verzeichnis anzugeben, in dasasmclidas Paketasmherunterlädt und in dem die Installationsdatei extrahiert wird, dieistioctl, Beispiele und Manifeste enthält. Andernfalls lädtasmclidie Dateien in eintmp-Verzeichnis herunter. Sie können entweder einen relativen Pfad oder einen vollständigen Pfad angeben. Die Umgebungsvariable$PWDfunktioniert hier nicht.
Bei Erfolg gibt asmcli 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 asmcli 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 `asmcli` with the '--enable_gcp_apis' flag to allow `asmcli` to enable them on your behalf.
Wenn Sie eine Fehlermeldung erhalten, dass asmcli 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_allhinzu, wenn Sieasmcliausführen, um die eigentliche Installation durchzuführen.Sie können Ihr Projekt und Ihren Cluster auch selbst aktualisieren, bevor Sie
asmcliausführen, wie unter Projekt und GKE-Cluster selbst einrichten beschrieben.
Beachten Sie, dass asmcli validate keine Aktivierungs-Flags zulässt, da nur geprüft wird, ob Ihr Projekt und Ihr Cluster für die Installation bereit sind.
Anforderungen an Installation und Upgrades für Cluster prüfen
Prüfen Sie vor dem Upgrade, ob Ihre Konfiguration mit der neuen Version von Cloud Service Mesh kompatibel ist.
Wechseln Sie zu dem Verzeichnis, das Sie in
--output_dirangegeben haben.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 Cloud Service Mesh-Version verteilt ist.istioctl experimental precheck