Projekt und GKE-Cluster selbst einrichten
Wenn Sie Anthos Service Mesh mit asmcli
installieren, kann es Ihr Projekt und Ihren GKE auf dem Google Cloud-Cluster für Sie konfigurieren, wenn Sie das Flag --enable_all
oder die detaillierteren Aktivierungs-Flags angeben.
Folgen Sie der Anleitung auf dieser Seite, wenn Sie die Änderungen lieber selbst vornehmen möchten, statt dass asmcli
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 asmcli
ein Upgrade auf die neueste Version von Anthos Service Mesh vornehmen.
Standardmäßig installiert asmcli
das istio-ingressgateway
nicht. Wir empfehlen, die Steuerungsebene und die Gateways separat bereitzustellen und zu verwalten.
Anthos Service Mesh unterstützt die automatische Injektion für Gateway-Bereitstellungen, wodurch Anthos Service Mesh-Upgrades vereinfacht werden. Nach dem Upgrade von Anthos Service Mesh starten Sie die Gateways genau wie Ihre Dienste neu, um die neue Konfiguration der Steuerungsebene zu übernehmen.
Weitere Informationen finden Sie unter Gateways installieren und aktualisieren.
Hinweise
- Voraussetzungen und Anforderungen prüfen
- Installation planen oder Upgrade vornehmen
- Installieren Sie die erforderlichen Tools.
Projekt einrichten
Rufen Sie die Projekt-ID des Projekts ab, in dem der Cluster erstellt wurde.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud projects list
Console
Wechseln Sie in der Google Cloud Console zur Seite Dashboard.
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 wird auf der Dashboard-Karte Projektinformationen des Projekts angezeigt.
Erstellen Sie mithilfe der Projekt-ID eine Umgebungsvariable für den Arbeitslastpool:
export WORKLOAD_POOL=PROJECT_ID.svc.id.goog
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 undGCP_EMAIL_ADDRESS
durch das Konto, mit dem Sie sich in 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
asmcli
das Flag--enable_all
oder--enable_gcp_iam_roles
angeben, werden die erforderlichen IAM-Rollen für Sie festgelegt.Aktivieren Sie die erforderlichen Google APIs:
gcloud services enable \ --project=PROJECT_ID \ mesh.googleapis.com
Neben
mesh.googleapis.com
werden mit diesem Befehl auch folgende APIs aktiviert:API Zweck Kann deaktiviert werden meshconfig.googleapis.com
Anthos Service Mesh verwendet die Mesh Configuration API, um Konfigurationsdaten aus Ihrem Mesh an Google Cloud weiterzuleiten. Außerdem können Sie durch Aktivieren der Mesh Configuration API auf die Anthos Service Mesh-Seiten in der Google Cloud Console zugreifen und die Anthos Service Mesh-Zertifizierungsstelle (Mesh CA) verwenden. Nein meshca.googleapis.com
Bezieht sich auf die Anthos Service Mesh-Zertifizierungsstelle, die vom verwalteten Anthos Service Mesh verwendet wird. Nein container.googleapis.com
Erforderlich zum Erstellen von GKE-Clustern (Google Kubernetes Engine). Nein gkehub.googleapis.com
Erforderlich, um das Mesh-Netzwerk als Flotte zu verwalten. Nein monitoring.googleapis.com
Erforderlich zum Erfassen von Telemetriedaten für Mesh-Arbeitslasten. Nein stackdriver.googleapis.com
Erforderlich für die Verwendung der Dienste-UI. Nein opsconfigmonitoring.googleapis.com
Erforderlich zur Verwendung der Services-UI für Cluster außerhalb von Google Cloud. Nein connectgateway.googleapis.com
Erforderlich, damit die verwaltete Anthos Service Mesh-Steuerungsebene auf Mesh-Arbeitslasten zugreifen kann. Ja* trafficdirector.googleapis.com
Ermöglicht eine hochverfügbare und skalierbare verwaltete Steuerungsebene. Ja* networkservices.googleapis.com
Ermöglicht eine hochverfügbare und skalierbare verwaltete Steuerungsebene. Ja* networksecurity.googleapis.com
Ermöglicht eine hochverfügbare und skalierbare verwaltete Steuerungsebene. Ja* 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
asmcli
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 asmcli
-Skript Ihren Cluster für Sie ein.
Legen Sie die Standardzone oder -region für 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
Workload Identity aktivieren:
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.
Initialisieren Sie Ihr Projekt, um es für die Installation vorzubereiten. Mit diesem Befehl wird unter anderem ein Dienstkonto erstellt, mit dem Komponenten der Datenebene, wie der Sidecar-Proxy, sicher auf die Daten und Ressourcen Ihres Projekts zugreifen können. Ersetzen Sie im folgenden Befehl
FLEET_PROJECT_ID
durch das Flottenhostprojekt.curl --request POST \ --header "Authorization: Bearer $(gcloud auth print-access-token)" \ --header "Content-Type: application/json" \ --data '{"workloadIdentityPools":["FLEET_PROJECT_ID.hub.id.goog","FLEET_PROJECT_ID.svc.id.goog","PROJECT_ID.svc.id.goog"]}' \ "https://meshconfig.googleapis.com/v1alpha1/projects/PROJECT_ID:initialize"
Der Befehl gibt ein Paar leere geschweifte Klammern zurück:
{}
Aktivieren Sie Cloud Monitoring und Cloud Logging in GKE:
gcloud container clusters update CLUSTER_NAME \ --project=PROJECT_ID \ --enable-stackdriver-kubernetes
Ihr Projekt und Ihr Cluster sind jetzt für eine neue Installation mit asmcli
bereit.