Auf dieser Seite werden gängige Multi-Cluster-Dienste (MCS) beschrieben. Die auf dieser Seite vorgestellten Szenarien haben folgende Eigenschaften:
- Zwei GKE-Cluster: Der erste GKE-Cluster ist in der Flotte seines eigenen Projekts registriert. Dies ist das Flottenhostprojekt. Der zweite GKE-Cluster ist bei derselben Flotte registriert, befindet sich aber je nach Szenario möglicherweise nicht im selben Projekt. Beide GKE-Cluster sind VPC-native Cluster.
- Dasselbe VPC-Netzwerk: Beide GKE-Cluster verwenden Subnetze im selben freigegebenen VPC-Netzwerk.
- Workload Identity-Föderation für GKE ist in beiden Clustern aktiviert.
Terminologie
Die Begriffe Freigegebenes VPC-Hostprojekt und GKE-Flotten-Hostprojekt haben unterschiedliche Bedeutungen.
- Das freigegebenen VPC-Hostprojekt ist das Projekt, das das freigegebene VPC-Netzwerk enthält.
- Das Hostprojekt der GKE-Flotten ist das Projekt mit der Flotte, bei der Sie die Cluster registrieren.
Scenarios
In der folgenden Tabelle sind gängige MCS-Szenarien beschrieben:
Szenario | Flotten-Hostprojekt (Projekt mit dem ersten Cluster) | Den Speicherort des zweiten Clusters. |
---|---|---|
Cluster im selben freigegebenen VPC-Dienstprojekt | Ein freigegebenes VPC-Dienstprojekt | Dasselbe freigegebene VPC-Dienstprojekt wie der erste Cluster |
Hostprojekt einer freigegebenen VPC als Flotten-Hostprojekt (ein Cluster im Hostprojekt der freigegebenen VPC, ein zweiter Cluster in einem Dienstprojekt einer freigegebenen VPC) | Das freigegebene VPC-Hostprojekt | Ein freigegebenes VPC-Dienstprojekt |
Cluster in verschiedenen freigegebenen VPC-Dienstprojekten | Ein freigegebenes VPC-Dienstprojekt | Ein anderes freigegebenes VPC-Dienstprojekt |
Voraussetzungen
Bevor Sie eine projektübergreifende Konfiguration von MCS einrichten, sollten Sie sich mit folgenden Themen vertraut machen:
- Konzepte von freigegebenen VPCs
- Cluster mit freigegebener VPC einrichten
- MCS-Einschränkungen
- Bekannte Probleme mit MCS
Cluster im selben freigegebenen VPC-Dienstprojekt
Dieser Abschnitt enthält eine Beispiel-MCS-Konfiguration mit zwei vorhandenen GKE-Clustern, die sich im selben freigegebenen VPC-Dienstprojekt befinden:
- Beide Cluster verwenden dasselbe freigegebene VPC-Netzwerk in
SHARED_VPC_HOST_PROJ
. - Der erste VPC-native GKE-Cluster
FIRST_CLUSTER_NAME
mit aktivierter Workload Identity-Föderation für GKE wird imFLEET_HOST_PROJ
erstellt. Das Flotten-Hostprojekt ist ein Dienstprojekt, das in diesem Szenario mitSHARED_VPC_HOST_PROJ
verbunden ist. - Der zweite VPC-native GKE-Cluster
SECOND_CLUSTER_NAME
mit aktivierter Workload Identity-Föderation für GKE wird ebenfalls in derFLEET_HOST_PROJ
erstellt.
Erforderliche APIs aktivieren
Aktivieren Sie die erforderlichen APIs. Die Ausgabe des Google Cloud CLI zeigt an, ob eine API bereits aktiviert wurde.
Aktivieren Sie die Cloud DNS API:
gcloud services enable dns.googleapis.com \ --project SHARED_VPC_HOST_PROJ
In diesem Szenario ist das Hostprojekt des Gerätepools ein Dienstprojekt, das mit dem freigegebenen VPC-Hostprojekt verbunden ist. Die Cloud DNS API muss im Hostprojekt der freigegebenen VPC aktiviert sein, da sich dort das freigegebene VPC-Netzwerk befindet. GKE erstellt von Cloud DNS verwaltete private Zonen im Hostprojekt und autorisiert sie für das freigegebene VPC-Netzwerk.
Aktivieren Sie die GKE Hub API (Fleet). Die GKE Hub API darf nur Flotten-Hostprojekt aktiviert sein.
gcloud services enable gkehub.googleapis.com \ --project FLEET_HOST_PROJ
Durch Aktivieren dieser API im Flotten-Hostprojekt wird das folgende Dienstkonto erstellt bzw. geprüft, ob es vorhanden ist:
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com
.Aktivieren Sie Cloud Service Mesh, Resource Manager und Multi-Cluster Service Discovery APIs im Hostprojekt der Flotte:
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project FLEET_HOST_PROJ
Multi-Cluster-Dienste im Flotten-Hostprojekt aktivieren
Aktivieren Sie Multi-Cluster-Dienste im Flotten-Hostprojekt:
gcloud container fleet multi-cluster-services enable \ --project FLEET_HOST_PROJ
Durch die Aktivierung von Multi-Cluster-Diensten im Flotten-Hostprojekt wird das folgende Dienstkonto erstellt bzw. sichergestellt, dass es existiert:
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com
.
IAM-Bindungen erstellen
Erstellen Sie eine IAM-Bindung, die dem MCS-Dienstkonto des Flotten-Hostprojekts die MCS-Dienst-Agent-Rolle im freigegebenen VPC-Hostprojekt zuweist:
gcloud projects add-iam-policy-binding SHARED_VPC_HOST_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com" \ --role roles/multiclusterservicediscovery.serviceAgent
Erstellen Sie eine IAM-Bindung, die dem MCS-Dienstkonto des Flotten-Hostprojekts die Rolle „Netzwerknutzer“ für sein eigenes Projekt zuweist:
gcloud projects add-iam-policy-binding FLEET_HOST_PROJ \ --member "serviceAccount:FLEET_HOST_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
Da dieses Szenario die Workload Identity-Föderation für GKE verwendet, benötigt das MCS-Importer-GKE-Dienstkonto des Flotten-Hostprojekts die Rolle „Netzwerknutzer“ für sein eigenes Projekt.
Ersetzen Sie dabei Folgendes:
SHARED_VPC_HOST_PROJ
: Projekt-ID des freigegebenen VPC-Hostprojekts.FLEET_HOST_PROJ_NUMBER
: Projektnummer des Flotten-Hostprojekts, also das Dienstprojekt der freigegebenen VPC für dieses Szenario.FLEET_HOST_PROJ
: Die Projekt-ID des Projekts des ersten Clusters.
Cluster in der Flotte registrieren
Registrieren Sie den ersten Cluster in der Flotte: Das Flag
--gke-cluster
kann für diesen Befehl verwendet werden, da sich der erste Cluster im selben Projekt wie die Flotte befindet, für die er registriert wird.gcloud container fleet memberships register MEMBERSHIP_NAME_1 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-cluster=LOCATION/FIRST_CLUSTER_NAME
Ersetzen Sie dabei Folgendes:
MEMBERSHIP_NAME_1
: Eine eindeutige Kennung für diesen Cluster in dieser Flotte. Sie können beispielsweise den Namen des ersten GKE-Clusters verwenden.FLEET_HOST_PROJ
: Die Projekt-ID des Flotten-Hostprojekts, die in diesem Szenario mit dem Hostprojekt der freigegebenen VPC identisch ist.LOCATION
: Bei zonalen Clustern die Compute Engine-Zone, die den Cluster enthält; bei regionalen Clustern die Compute Engine-Region, die den Cluster enthält.FIRST_CLUSTER_NAME
: Der Name des ersten Clusters.
Registrieren Sie den zweiten Cluster im Flotten-Hostprojekt. Das Flag
--gke-cluster
kann für diesen Befehl verwendet werden, da sich der zweite Cluster ebenfalls im Flotten-Hostprojekt befindet.gcloud container fleet memberships register MEMBERSHIP_NAME_2 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-cluster=LOCATION/SECOND_CLUSTER_NAME
Ersetzen Sie dabei Folgendes:
MEMBERSHIP_NAME_2
: Eine eindeutige Kennung für diesen Cluster in dieser Flotte. Sie können beispielsweise den Namen des zweiten GKE-Clusters verwenden.FLEET_HOST_PROJ
: Die Projekt-ID des Flotten-Hostprojekts, die in diesem Szenario mit dem Hostprojekt der freigegebenen VPC identisch ist.LOCATION
: Bei zonalen Clustern die Compute Engine-Zone, die den Cluster enthält; bei regionalen Clustern die Compute Engine-Region, die den Cluster enthält.SECOND_CLUSTER_NAME
: Der Name des zweiten Clusters.
Gemeinsamen Namespace für die Cluster erstellen
Sorgen Sie dafür, dass jeder Cluster einen Namespace hat, in dem Dienste freigegeben werden sollen. Erstellen Sie bei Bedarf einen Namespace, indem Sie den folgenden Befehl in jedem Cluster verwenden:
kubectl create ns NAMESPACE
Ersetzen Sie
NAMESPACE
durch einen Namen für den Namespace.
Freigegebenes VPC-Hostprojekt als Flotten-Hostprojekt
Dieser Abschnitt enthält eine beispielhafte MCS-Konfiguration mit zwei vorhandenen GKE-Clustern:
- Der erste VPC-native GKE-Cluster
FIRST_CLUSTER_NAME
mit aktivierter Workload Identity-Föderation für GKE wurde imFLEET_HOST_PROJ
erstellt. In diesem Szenario ist das Flotten-Hostprojekt auch das freigegebene VPC-Hostprojekt. - Der zweite VPC-native GKE-Cluster
SECOND_CLUSTER_NAME
mit aktivierter Workload Identity-Föderation für GKE wurde imSECOND_CLUSTER_PROJ
erstellt.
Erforderliche APIs aktivieren
Aktivieren Sie die erforderlichen APIs. Die Ausgabe des Google Cloud CLI zeigt an, ob eine API bereits aktiviert wurde.
Aktivieren Sie die Cloud DNS API:
gcloud services enable dns.googleapis.com \ --project FLEET_HOST_PROJ
In diesem Szenario ist das Flotten-Hostprojekt auch das freigegebene VPC-Hostprojekt. Die Cloud DNS API muss im Hostprojekt der freigegebenen VPC aktiviert sein, da sich dort das freigegebene VPC-Netzwerk befindet. GKE erstellt von Cloud DNS verwaltete private Zonen im Hostprojekt und autorisiert sie für das freigegebene VPC-Netzwerk.
Aktivieren Sie die GKE Hub API (Fleet). Die GKE Hub API darf nur Flotten-Hostprojekt aktiviert sein.
gcloud services enable gkehub.googleapis.com \ --project FLEET_HOST_PROJ
Durch Aktivieren der GKE Hub API im Flotten-Hostprojekt wird das folgende Dienstkonto erstellt bzw. sichergestellt, dass es existiert:
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com
.Aktivieren Sie Cloud Service Mesh, Resource Manager und Multi-Cluster Service Discovery APIs sowohl im Flotten-Hostprojekt als auch im Projekt des zweiten Clusters:
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project FLEET_HOST_PROJ
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project SECOND_CLUSTER_PROJ
Multi-Cluster-Dienste im Flotten-Hostprojekt aktivieren
Aktivieren Sie Multi-Cluster-Dienste im Flotten-Hostprojekt:
gcloud container fleet multi-cluster-services enable \ --project FLEET_HOST_PROJ
Durch die Aktivierung von Multi-Cluster-Diensten im Flotten-Hostprojekt wird das folgende Dienstkonto erstellt bzw. sichergestellt, dass es existiert:
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com
.
IAM-Bindungen erstellen
Erstellen Sie die IAM-Bindung, die dem GKE-Dienstkonto des Flotten-Hostprojekts die Rolle des GKE-Dienst-Agents für das Projekt des zweiten Clusters zuweist:
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com" \ --role roles/gkehub.serviceAgent
Erstellen Sie eine IAM-Bindung, die dem MCS-Dienstkonto des Flotten-Hostprojekts die Rolle des MCS-Dienst-Agents im Projekt des zweiten Clusters zuweist:
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com" \ --role roles/multiclusterservicediscovery.serviceAgent
Erstellen Sie eine IAM-Bindung, die dem MCS-Dienstkonto jedes Projekts die Rolle „Netzwerknutzer“ für sein eigenes Projekt zuweist:
gcloud projects add-iam-policy-binding FLEET_HOST_PROJ \ --member "serviceAccount:FLEET_HOST_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:SECOND_CLUSTER_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
Da dieses Szenario die Workload Identity-Föderation für GKE verwendet, benötigt das GKE-Dienstkonto des MCS-Importers für jedes Projekt die Rolle „Netzwerknutzer“ für sein eigenes Projekt.
Ersetzen Sie dabei Folgendes:
SECOND_CLUSTER_PROJ
: Die Projekt-ID des Projekts des zweiten Clusters.FLEET_HOST_PROJ
: Die Projekt-ID des Projekts des ersten Clusters.FLEET_HOST_PROJ_NUMBER
: Die Projektnummer des Flotten-Hostprojekts, die mit dem freigegebenen VPC-Hostprojekt für dieses Szenario übereinstimmt
Cluster in der Flotte registrieren
Registrieren Sie den ersten Cluster in der Flotte: Das Flag
--gke-cluster
kann für diesen Befehl verwendet werden, da sich der erste Cluster im selben Projekt wie die Flotte befindet, für die er registriert wird.gcloud container fleet memberships register MEMBERSHIP_NAME_1 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-cluster=LOCATION/FIRST_CLUSTER_NAME
Ersetzen Sie dabei Folgendes:
MEMBERSHIP_NAME_1
: Eine eindeutige Kennung für diesen Cluster in dieser Flotte. Sie können beispielsweise den Namen des ersten GKE-Clusters verwenden.FLEET_HOST_PROJ
: Die Projekt-ID des Flotten-Hostprojekts, die in diesem Szenario mit dem Hostprojekt der freigegebenen VPC identisch ist.LOCATION
: Bei zonalen Clustern die Compute Engine-Zone, die den Cluster enthält; bei regionalen Clustern die Compute Engine-Region, die den Cluster enthält.FIRST_CLUSTER_NAME
: Der Name des ersten Clusters.
Registrieren Sie den zweiten Cluster in der Flotte: Das Flag
--gke-uri
muss für diesen Befehl verwendet werden, da sich der zweite Cluster nicht im selben Projekt wie die Flotte befindet. Sie können den vollständigen Cluster-URI durch Ausführen vongcloud container clusters list --uri
abrufen.gcloud container fleet memberships register MEMBERSHIP_NAME_2 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-uri https://container.googleapis.com/v1/projects/SECOND_CLUSTER_PROJ/locations/LOCATION/clusters/SECOND_CLUSTER_NAME
Ersetzen Sie dabei Folgendes:
MEMBERSHIP_NAME_2
: Eine eindeutige Kennung für diesen Cluster in dieser Flotte. Sie können beispielsweise den Namen des zweiten GKE-Clusters verwenden.FLEET_HOST_PROJ
: Die Projekt-ID des Flotten-Hostprojekts, die in diesem Szenario mit dem Hostprojekt der freigegebenen VPC identisch ist.LOCATION
: Ersetzen SieLOCATION
durch:- die Compute Engine-Zone des Clusters, wenn der Cluster ein zonaler Cluster ist
- die Compute Engine-Region des Clusters, wenn der Cluster ein regionaler Cluster ist
SECOND_CLUSTER_PROJECT
: Das Projekt, das den zweiten Cluster enthält.SECOND_CLUSTER_NAME
: Der Name des zweiten Clusters.
Gemeinsamen Namespace für die Cluster erstellen
Sorgen Sie dafür, dass jeder Cluster einen Namespace hat, in dem Dienste freigegeben werden sollen. Erstellen Sie bei Bedarf einen Namespace, indem Sie den folgenden Befehl in jedem Cluster verwenden:
kubectl create ns NAMESPACE
Ersetzen Sie
NAMESPACE
durch einen Namen für den Namespace.
Cluster in verschiedenen freigegebenen VPC-Dienstprojekten
Dieser Abschnitt enthält ein Beispiel für eine MCS-Konfiguration mit zwei vorhandenen GKE-Clustern, die sich jeweils in einem anderen freigegebenen VPC-Dienstprojekt befinden.
- Beide Cluster verwenden dasselbe freigegebene VPC-Netzwerk in
SHARED_VPC_HOST_PROJ
. - Der erste VPC-native GKE-Cluster
FIRST_CLUSTER_NAME
mit aktivierter Workload Identity-Föderation für GKE wurde imFLEET_HOST_PROJ
erstellt. Das Flotten-Hostprojekt ist ein Dienstprojekt, das in diesem Szenario mitSHARED_VPC_HOST_PROJ
verbunden ist. - Der zweite VPC-native GKE-Cluster
SECOND_CLUSTER_NAME
mit aktivierter Workload Identity-Föderation für GKE wurde imSECOND_CLUSTER_PROJ
erstellt. DieSECOND_CLUSTER_PROJ
ist in diesem Szenario auch ein Dienstprojekt, das mit derSHARED_VPC_HOST_PROJ
verbunden ist.
Erforderliche APIs aktivieren
Aktivieren Sie die erforderlichen APIs. Die Ausgabe des Google Cloud CLI zeigt an, ob eine API bereits aktiviert wurde.
Aktivieren Sie die Cloud DNS API:
gcloud services enable dns.googleapis.com \ --project SHARED_VPC_HOST_PROJ
In diesem Szenario ist das Hostprojekt des Gerätepools ein Dienstprojekt, das mit dem freigegebenen VPC-Hostprojekt verbunden ist. Die Cloud DNS API muss im Hostprojekt der freigegebenen VPC aktiviert sein, da sich dort das freigegebene VPC-Netzwerk befindet. GKE erstellt von Cloud DNS verwaltete private Zonen im Hostprojekt und autorisiert sie für das freigegebene VPC-Netzwerk.
GKE Hub (Fleet) API. Die GKE Hub API darf nur im Projekt des Flotten-Hostprojekts
FLEET_HOST_PROJ
aktiviert sein.gcloud services enable gkehub.googleapis.com \ --project FLEET_HOST_PROJ
Durch Aktivieren dieser API im Flotten-Hostprojekt wird das folgende Dienstkonto erstellt bzw. geprüft, ob es vorhanden ist:
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com
.Aktivieren Sie Cloud Service Mesh, Resource Manager und Multi-Cluster Service Discovery APIs sowohl im Flotten-Hostprojekt als auch im Projekt des zweiten Clusters:
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project=FLEET_HOST_PROJ
gcloud services enable trafficdirector.googleapis.com \ cloudresourcemanager.googleapis.com \ multiclusterservicediscovery.googleapis.com \ --project SECOND_CLUSTER_PROJ
Multi-Cluster-Dienste im Flotten-Hostprojekt aktivieren
Aktivieren Sie Multi-Cluster-Dienste im Flotten-Hostprojekt:
gcloud container fleet multi-cluster-services enable \ --project FLEET_HOST_PROJ
Durch die Aktivierung von Multi-Cluster-Diensten im Flotten-Hostprojekt wird das folgende Dienstkonto erstellt bzw. sichergestellt, dass es existiert:
service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com
.
IAM-Bindungen erstellen
Erstellen Sie die IAM-Bindung, die dem GKE Hub-Dienstkonto des Flotten-Hostprojekts die Rolle des GKE-Dienst-Agents für das Projekt des zweiten Clusters zuweist:
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-gkehub.iam.gserviceaccount.com" \ --role roles/gkehub.serviceAgent
Erstellen Sie eine IAM-Bindung, die dem MCS-Dienstkonto des Flotten-Hostprojekts die Rolle des MCS-Dienst-Agents im Projekt des zweiten Clusters zuweist:
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com" \ --role roles/multiclusterservicediscovery.serviceAgent
Erstellen Sie eine IAM-Bindung, die dem MCS-Dienstkonto des Flotten-Hostprojekts die MCS-Dienst-Agent-Rolle im freigegebenen VPC-Hostprojekt zuweist:
gcloud projects add-iam-policy-binding SHARED_VPC_HOST_PROJ \ --member "serviceAccount:service-FLEET_HOST_PROJ_NUMBER@gcp-sa-mcsd.iam.gserviceaccount.com" \ --role roles/multiclusterservicediscovery.serviceAgent
Erstellen Sie eine IAM-Bindung, die dem MCS-Dienstkonto jedes Projekts die Rolle „Netzwerknutzer“ für sein eigenes Projekt zuweist:
gcloud projects add-iam-policy-binding FLEET_HOST_PROJ \ --member "serviceAccount:FLEET_HOST_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
gcloud projects add-iam-policy-binding SECOND_CLUSTER_PROJ \ --member "serviceAccount:SECOND_CLUSTER_PROJ.svc.id.goog[gke-mcs/gke-mcs-importer]" \ --role roles/compute.networkViewer
Da dieses Szenario die Workload Identity-Föderation für GKE verwendet, benötigt das GKE-Dienstkonto des MCS-Importers für jedes Projekt die Rolle „Netzwerknutzer“ für sein eigenes Projekt.
Ersetzen Sie Folgendes nach Bedarf in den vorherigen Befehlen:
SECOND_CLUSTER_PROJ
: Die Projekt-ID des Projekts des zweiten Clusters.SHARED_VPC_HOST_PROJ
ist die Projekt-ID des freigegebenen VPC-Hostprojekts. In diesem Beispiel verwenden beide Cluster dasselbe freigegebene VPC-Netzwerk, aber keiner der Cluster befindet sich im freigegebenen VPC-Hostprojekt.FLEET_HOST_PROJ
: Die Projekt-ID des Projekts des ersten Clusters.FLEET_HOST_PROJ_NUMBER
: Die Projektnummer des Flotten-Hostprojekts
Cluster in der Flotte registrieren
Registrieren Sie den ersten Cluster in der Flotte: Das Flag
--gke-cluster
kann für diesen Befehl verwendet werden, da sich der erste Cluster im selben Projekt wie die Flotte befindet, für die er registriert wird.gcloud container fleet memberships register MEMBERSHIP_NAME_1 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-cluster=LOCATION/FIRST_CLUSTER_NAME
Ersetzen Sie dabei Folgendes:
MEMBERSHIP_NAME_1
: Eine eindeutige Kennung für diesen Cluster in dieser Flotte. Sie können beispielsweise den Namen des ersten GKE-Clusters verwenden.FLEET_HOST_PROJ
: Die Projekt-ID des Flotten-Hostprojekts, die in diesem Szenario mit dem Hostprojekt der freigegebenen VPC identisch ist.LOCATION
: Bei zonalen Clustern die Compute Engine-Zone, die den Cluster enthält; bei regionalen Clustern die Compute Engine-Region, die den Cluster enthält.FIRST_CLUSTER_NAME
: Der Name des ersten Clusters.
Registrieren Sie den zweiten Cluster in der Flotte: Das Flag
--gke-uri
muss für diesen Befehl verwendet werden, da sich der zweite Cluster nicht im selben Projekt wie die Flotte befindet. Sie können den vollständigen Cluster-URI durch Ausführen vongcloud container clusters list --uri
abrufen.gcloud container fleet memberships register MEMBERSHIP_NAME_2 \ --project FLEET_HOST_PROJ \ --enable-workload-identity \ --gke-uri https://container.googleapis.com/v1/projects/SECOND_CLUSTER_PROJ/locations/LOCATION/clusters/SECOND_CLUSTER_NAME
Ersetzen Sie dabei Folgendes:
MEMBERSHIP_NAME_2
: Eine eindeutige Kennung für diesen Cluster in dieser Flotte. Sie können beispielsweise den Namen des zweiten GKE-Clusters verwenden.FLEET_HOST_PROJ
: Die Projekt-ID des Flotten-Hostprojekts, die in diesem Szenario mit dem Hostprojekt der freigegebenen VPC identisch ist.LOCATION
: Ersetzen SieLOCATION
durch:- die Compute Engine-Zone des Clusters, wenn der Cluster ein zonaler Cluster ist
- die Compute Engine-Region des Clusters, wenn der Cluster ein regionaler Cluster ist
SECOND_CLUSTER_PROJECT
: Das Projekt, das den zweiten Cluster enthält.SECOND_CLUSTER_NAME
: Der Name des zweiten Clusters.
Gemeinsamen Namespace für die Cluster erstellen
Sorgen Sie dafür, dass jeder Cluster einen Namespace hat, in dem Dienste freigegeben werden sollen. Erstellen Sie bei Bedarf einen Namespace, indem Sie den folgenden Befehl in jedem Cluster verwenden:
kubectl create ns NAMESPACE
Ersetzen Sie
NAMESPACE
durch einen Namen für den Namespace.