Projekt und Cluster selbst einrichten
Wenn Sie Cloud Service Mesh mit asmcli installieren, kann Ihr Projekt und Ihr Cluster für Sie konfiguriert werden, wenn Sie das Flag --enable_all oder die detaillierteren Flags für die Aktivierung einfügen.
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 Cloud Service Mesh installiert haben, müssen Sie keine Änderungen an Ihrem Projekt oder Cluster vornehmen, bevor Sie asmcli zum Aktualisieren auf die neueste Cloud Service Mesh-Version verwenden.
Standardmäßig installiert asmcli das istio-ingressgateway nicht. Wir empfehlen, die Steuerungsebene und die Gateways separat bereitzustellen und zu verwalten.
Cloud Service Mesh unterstützt die automatische Einfügung für Gateway-Bereitstellungen, was Cloud Service Mesh-Upgrades erleichtert. Nach dem Upgrade von Cloud Service Mesh starten Sie die Gateways wie Ihre Dienste neu, damit die neue Konfiguration der Steuerungsebene übernommen wird.
Weitere Informationen finden Sie unter Gateways installieren und aktualisieren.
Hinweis
- Voraussetzungen und Anforderungen prüfen (außerhalb Google Cloud, GKE)
- Installation planen (außerhalb Google Cloud, GKE) oder Upgrade
- Erforderliche Tools installieren (außerhalb von Google Cloud, GKE)
Projekt einrichten
Rufen Sie die Projekt-ID für das Projekt ab, in dem der Cluster erstellt wurde.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud projects listConsole
Rufen Sie in derGoogle Cloud Console die Seite Dashboard auf.
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 eine Umgebungsvariable für den Workload-Pool mit der Projekt-ID:
export WORKLOAD_POOL=PROJECT_ID.svc.id.googLegen Sie die erforderlichen IAM-Rollen (Identitäts- und Zugriffsverwaltung) fest. Wenn Sie Project Owner sind, haben Sie alle erforderlichen Berechtigungen, um die Installation auszuführen. Wenn Sie kein Project Owner sind, muss Ihnen jemand, der es ist, die folgenden spezifischen IAM-Rollen zuweisen. Ersetzen Sie im folgenden Befehl
PROJECT_IDdurch die Projekt-ID aus dem vorherigen Schritt undGCP_EMAIL_ADDRESSdurch das Konto, mit dem Sie sich in Google Cloudanmelden.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" doneWenn Sie beim Ausführen von
asmclidas Flag--enable_alloder--enable_gcp_iam_rolesangeben, werden die erforderlichen IAM-Rollen für Sie festgelegt.Aktivieren Sie die erforderlichen Google APIs:
gcloud services enable \ --project=PROJECT_ID \ mesh.googleapis.comNeben
mesh.googleapis.comwerden mit diesem Befehl auch folgende APIs aktiviert:API Zweck Kann deaktiviert werden? meshconfig.googleapis.comCloud Service Mesh verwendet die Mesh Configuration API, um Konfigurationsdaten von Ihrem Mesh an Google Cloudweiterzuleiten. Darüber hinaus können Sie durch Aktivieren der Mesh Configuration API auf die Cloud Service Mesh-Seiten in der Google Cloud Console zugreifen und die Cloud Service Mesh-Zertifizierungsstelle verwenden. Nein meshca.googleapis.comBezieht sich auf die Cloud Service Mesh-Zertifizierungsstelle, die von verwaltetem Cloud Service Mesh verwendet wird. Nein container.googleapis.comErforderlich zum Erstellen von Google Kubernetes Engine-Clustern (GKE). Nein gkehub.googleapis.comErforderlich zum Verwalten des Mesh-Netzwerks als Flotte. Nein monitoring.googleapis.comErforderlich zum Erfassen von Telemetrie für Mesh-Arbeitslasten. Nein stackdriver.googleapis.comErforderlich für die Verwendung der Dienste-UI. Nein opsconfigmonitoring.googleapis.comErforderlich, um die Services-UI für Cluster außerhalb vonGoogle Cloud zu verwenden. Nein connectgateway.googleapis.comErforderlich, damit die verwaltete Cloud Service Mesh-Steuerungsebene auf Mesh-Arbeitslasten zugreifen kann. Ja* trafficdirector.googleapis.comErmöglicht eine hochverfügbare und skalierbare verwaltete Steuerungsebene. Ja* networkservices.googleapis.comErmöglicht eine hochverfügbare und skalierbare verwaltete Steuerungsebene. Ja* networksecurity.googleapis.comErmö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
asmclidas Flag--enable_alloder--enable_apisangeben, 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.
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_IDdurch 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:
{}Legen Sie für GKE on Google Cloud -Cluster die Standardzone oder -region für die 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--zoneoder--regionangeben.Wenn Sie einen Cluster mit einer einzelnen Zone haben, legen Sie die Standardzone fest:
gcloud config set compute/zone CLUSTER_LOCATIONWenn Sie einen regionalen Cluster haben, legen Sie die Standardregion fest:
gcloud config set compute/region CLUSTER_LOCATION
Aktivieren Sie für GKE on Google Cloud -Cluster 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.
Aktivieren Sie für GKE on Google Cloud -Cluster 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.
Nächste Schritte
- Abhängige Tools installieren und Cluster außerhalb von Google Cloud validieren
- Abhängige Tools installieren und Cluster in GKE validieren