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:
- Die Google Cloud CLI
- Die Standard-Befehlszeilentools:
awk
,curl
,grep
,sed
undtr
. - git
- kubectl
- jq
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_ID
Aktualisieren Sie die Komponenten:
gcloud components update
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.
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
Machen Sie das Skript ausführbar:
chmod +x asmcli
Administratorberechtigungen für Cluster erteilen
Wechseln Sie den Kontext zu Ihrem Nutzercluster:
kubectl config use-context CLUSTER_NAME
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:
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 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 dasasmcli
das Paketasm
herunterlädt und in dem die Installationsdatei extrahiert wird, dieistioctl
, Beispiele und Manifeste enthält. Andernfalls lädtasmcli
die Dateien in eintmp
-Verzeichnis herunter. Sie können entweder einen relativen Pfad oder einen vollständigen Pfad angeben. Die Umgebungsvariable$PWD
funktioniert hier nicht.
Lokal
Legen Sie Ihren Nutzercluster als aktuellen Kontext fest:
kubectl config use-context CLUSTER_NAME
Führen Sie den folgenden Befehl aus, um Ihre Konfiguration zu validieren und um die Installationsdatei sowie das Paket
asm
in das VerzeichnisOUTPUT_DIR
herunterzuladen:./asmcli validate \ --kubeconfig KUBECONFIG_FILE \ --output_dir DIR_PATH \ --platform multicloud
--kubeconfig
: Pfad zurkubeconfig
. 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 dasasmcli
das Paketasm
herunterlädt und in dem die Installationsdatei extrahiert wird, dieistioctl
, Beispiele und Manifeste enthält. Andernfalls lädtasmcli
die Dateien in eintmp
-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.
Wechseln Sie zu dem Verzeichnis, das Sie in
--output_dir
angegeben 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 Anthos Service Mesh-Version verteilt ist.istioctl experimental precheck