Mit mit GKE-angehängten Clustern können Sie Ihre vorhandenen Kubernetes-Cluster in der Google Cloud Console zusammen mit Ihren GKE-Clustern anzeigen und mehrere GKE-Features für sie aktivieren, einschließlich der zentralisierten Konfigurationssteuerung mit Config Sync.
Unterstützte Kubernetes-Cluster
Sie können an Ihre Flotte beliebige konforme Kubernetes-Cluster anhängen, die x86-Knoten enthalten, und diese in der Google Cloud Console mit Ihren GKE-Clustern anzeigen.
Die folgenden Clustertypen und -versionen wurden von Google validiert. Informationen zu den GKE-Funktionen, die für angehängte Cluster unterstützt werden, finden Sie unter Unterstützung für GKE-Versionen und ‑Upgrades.
Angehängte Clustertypen | Kubernetes-Versionen |
---|---|
Red Hat OpenShift Kubernetes Engine (OKE) 4.9, 4.10 | 1.23, 1.24 |
Red Hat OpenShift Container Platform (OCP) 4.9, 4.10 | 1.23, 1.24 |
Rancher Kubernetes Engine (RKE) 1.3.8 | 1.23, 1.24 |
KIND 0.12 | 1.23, 1.24 |
K3s 1.20 | 1.20 |
K3d 4.4.3 | 1.20 |
Vorbereitung
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Anthos API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the Anthos API.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles. -
Install the Google Cloud CLI.
-
Wenn Sie einen externen Identitätsanbieter (IdP) verwenden, müssen Sie sich zuerst mit Ihrer föderierten Identität in der gcloud CLI anmelden.
-
Führen Sie folgenden Befehl aus, um die gcloud CLI zu initialisieren:
gcloud init
- Prüfen Sie die Voraussetzungen für die Flottenregistrierung, um sicherzustellen, dass Sie die erforderlichen Berechtigungen und die aktivierten APIs haben, um einen Cluster zu registrieren.
- Im Leitfaden Vorbereitung finden Sie spezifische Anforderungen für das Anhängen von Clustern außerhalb von Google Cloud, einschließlich spezieller Einrichtungsschritte für Ihren Clustertyp.
- MEMBERSHIP_NAME ist der Name der Mitgliedschaft, den Sie auswählen und der eindeutig dem Cluster entspricht, der für die Flotte registriert wird.
- SERVICE_ACCOUNT_KEY_PATH ist der lokale Dateipfad zur JSON-Datei des privaten Schlüssels des Dienstkontos, die als Teil der Voraussetzungen heruntergeladen wurde.
Dieser Dienstkontoschlüssel wird als Secret mit dem Namen
creds-gcp
im Namespacegke-connect
gespeichert. - KUBECONFIG_CONTEXT: der Clusterkontext des zu registrierenden Clusters, wie er in der Datei "kubeconfig" angezeigt wird. Sie erhalten diesen Wert über die Befehlszeile, indem Sie
kubectl config current-context
ausführen. - KUBECONFIG_PATH ist der lokale Dateipfad, in dem das kubeconfig mit einem Eintrag für den registrierten Cluster gespeichert ist.
Dies ist der Standardwert
$KUBECONFIG
, wenn diese Umgebungsvariable gesetzt ist; andernfalls ist dies der Standardwert für$HOME/.kube/config
. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine-Cluster – Übersicht auf.
Klicken Sie auf Vorhandenen Cluster registrieren.
Klicken Sie auf Externen Cluster hinzufügen.
Geben Sie im Feld Clustername den Namen des Clusters ein, den Sie registrieren möchten.
Optional: Fügen Sie Ihrem Cluster Google Cloud Labels hinzu.
Klicken Sie auf Anmeldebefehl generieren.
Bearbeiten Sie den Befehl
gcloud
, der auf der Seite angezeigt wird, in Cloud Shell oder wo Sie die Anmeldedaten für Ihr Dienstkonto gespeichert haben. Sie müssen die folgenden Werte angeben:- CLUSTER_CONTEXT ist der Kontext des Clusters, wie er in der Datei "kubeconfig" angezeigt wird. Sie erhalten diesen Wert über die Befehlszeile, indem Sie
kubectl config current-context
ausführen. - KUBECONFIG_PATH der lokale Dateipfad ist, in dem Ihre "kubeconfig"-Datei gespeichert ist. Dies ist der Standardwert
$KUBECONFIG
, wenn diese Umgebungsvariable gesetzt ist; andernfalls ist dies der Standardwert für$HOME/.kube/config
. - LOCAL_KEY_PATH ist der Pfad zu Ihrer Dienstkonto-Schlüsseldatei.
Mit diesem Befehl wird der Connect Agent in Ihrem Nutzercluster bereitgestellt. Wenn der Connect Agent eine Verbindung zu Google Cloud herstellt und Ihr Cluster registriert ist, wird eine Bestätigungsmeldung auf der Seite angezeigt.
- CLUSTER_CONTEXT ist der Kontext des Clusters, wie er in der Datei "kubeconfig" angezeigt wird. Sie erhalten diesen Wert über die Befehlszeile, indem Sie
Klicken Sie auf Labels festlegen oder auf Überspringen, wenn Sie keine Labels festgelegt haben.
Cloud Service Mesh 1.11 und höher unterstützt Amazon EKS:
Konfigurations- und Richtlinienverwaltung:
Angehängte Cluster registrieren
Sie müssen alle Cluster, die Sie mit GKE-Funktionen verwenden möchten, bei der Flotte Ihres Projekts registrieren. Eine Flotte bietet eine Möglichkeit, Kubernetes-Cluster logisch zu gruppieren und zu normalisieren, was die Verwaltung der Infrastruktur erleichtert. Cluster in derselben Flotte können in der Google Cloud Console zusammen durchsucht und verwaltet werden. Viele GKE- und Google Cloud -Komponenten verwenden Flottenkonzepte wie Identitätsgleichheit und Namespace-Gleichheit, um das Arbeiten mit mehreren Clustern zu vereinfachen. In unserem Leitfaden zur Flottenverwaltung finden Sie viele weitere Informationen zu Flotten und ihren Funktionen.
Sie sind berechtigt, GKE-Funktionen in diesen Clustern zu aktivieren und zu verwenden. Einige GKE-Funktionen können Sie auf Flottenebene über die Seite „GKE-Funktionen“ verwalten.
Identität einrichten
Alle angehängten Cluster erfordern eine Identität, die der Connect Agent für die Authentifizierung bei Google verwenden soll. Wenn Ihr Cluster die Anforderungen erfüllt, können Sie ihn mit aktivierter Workload Identity der Flotte für die Authentifizierung registrieren. Cluster, für die dieses Feature aktiviert ist, verwenden Identitäten aus dem Workload Identity-Pool der Flotte. Weitere Informationen zur Funktionsweise von Workload Identity für Flotten und dessen Vorteilen finden Sie unter Workload Identity für Flotten verwenden.
Wenn Sie Workload Identity der Flotte nicht verwenden können, ist für die Registrierung eines angehängten Clusters ein Google Cloud Dienstkonto zur Authentifizierung erforderlich. Wir empfehlen Ihnen, für jeden Cluster, den Sie anhängen möchten, ein neues Dienstkonto zu erstellen. Folgen Sie der Anleitung unter Google Cloud -Dienstkonto mit gcloud
erstellen, um ein Dienstkonto für einen Cluster mit den entsprechenden Rollen zu erstellen.
Nachdem Sie Ihr Dienstkonto erstellt haben, können Sie die JSON-Datei mit den Anmeldedaten des Dienstkontos (Schlüsseldatei) verwenden, um Ihren Cluster wie im nächsten Abschnitt beschrieben zu registrieren.
Cluster registrieren
Es empfiehlt sich, den Mitgliedschaftsstatus Ihres Clusters abzurufen, nachdem Sie ihn registriert haben, um sicherzustellen, dass er ordnungsgemäß mit Google Cloudverbunden ist. Falls Probleme bei der Registrierung auftreten, finden Sie weitere Informationen in der Anleitung zur Fehlerbehebung.
gcloud
Führen Sie dazu diesen Befehl aus:
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH
Dabei gilt:
Zugewiesenen Cluster mit Workload Identity der Flotte registrieren
Führen Sie den folgenden Befehl aus, um einen angehängten Cluster mit aktivierter Workload Identity der Flotte zu registrieren. Weitere Informationen dazu, welche angehängten Clustertypen dieses Feature verwenden können, sowie zusätzliche Anforderungen finden Sie unter Voraussetzungen für angehängte Cluster.
gcloud container fleet memberships register MEMBERSHIP_NAME \ --context=KUBECONFIG_CONTEXT \ --kubeconfig=KUBECONFIG_PATH \ --enable-workload-identity \ --has-private-issuer
Console
Registrierungsbefehl generieren
Mit der Google Cloud Console können Sie einen gcloud
-Registrierungsbefehl generieren, um Ihren Cluster zu registrieren (nur mit einem Dienstkonto).
So registrieren Sie einen Cluster:
Erweiterte Registrierungsoptionen (nur Befehlszeile)
Connect Agent-Manifest herunterladen
Wenn Sie das Connect Agent-Installationsmanifest herunterladen möchten, ohne den Agent bereitzustellen, übergeben Sie zum Beispiel das Flag --manifest-output-file
an den Befehl gcloud container fleet memberships register
, um das Manifest vor der Installation zu prüfen oder zu bearbeiten. Beispiel:
--manifest-output-file=[MANIFEST_FILE_PATH]
Dabei ist [MANIFEST_FILE_PATH] der lokale Dateipfad, in dem das Connect Agent-Installationsmanifest gespeichert werden soll.
Wenn Sie diese Option verwenden, wird der Connect Agent nicht im Cluster bereitgestellt. Wenden Sie das heruntergeladene Manifest manuell auf Ihren Cluster an, um den Connect-Agent bereitzustellen.
Proxyserver verwenden
Um einen Proxyserver zu konfigurieren, übergeben Sie das Flag --proxy
an den Befehl gcloud container fleet memberships register
. Beispiele:
--proxy=[URL]
Dabei ist [URL] die Proxyadresse.
Der Connect-Agent unterstützt nur CONNECT-basierte HTTP- und HTTPS-Proxys und akzeptiert IP-Adressen und Hostnamen. Achten Sie darauf, das Protokoll anzugeben, das dem Proxytyp in der URL entspricht. So übergeben Sie beispielsweise einen HTTPS-Hostnamen:
--proxy=https://mycorpproxy.com:443
Wenn Sie nichts anderes angeben, verwendet der Connect Agent Port 3128 für den Proxy.
Wenn Ihr Proxy eine Autorisierung erfordert, achten Sie darauf, Ihre Anmeldedaten zu übergeben. Beispiel:
--proxy=http://user:password@10.10.10.10:8888
Connect Agent in einem Cluster mit Windows- und Linux-Knoten installieren
Der Connect Agent muss auf einem Linux-Knoten ausgeführt werden. Bei der Installation in einem gemischten Cluster mit Linux- und Windows-Knoten können Sie sicherstellen, dass der Connect Agent auf einem Linux-Knoten bereitgestellt wird, indem Sie der Deployment-Definition einen entsprechenden Knotenselektor hinzufügen.
Führen Sie den folgenden Befehl aus, um das Deployment mit dem entsprechenden Knotenselektor zu aktualisieren:
kubectl patch deployment \
$(kubectl get deployment -o=jsonpath='{.items[*].metadata.name}' -n gke-connect) \
-p '{"spec":{"template":{"spec":{"nodeSelector":{"kubernetes.io/os":"linux"}}}}}' -n gke-connect
Mit dem folgenden Befehl können Sie prüfen, ob die Aktualisierung erfolgreich war:
kubectl get deployment -o=jsonpath='{.items[].spec.template.spec.nodeSelector}' -n gke-connect
Der Befehl sollte Folgendes zurückgeben:
{"kubernetes.io/os":"linux"}
Fehlerbehebung
Wenn bei dieser Einrichtung Probleme auftreten, finden Sie weitere Informationen in der Anleitung zur Fehlerbehebung für die Flottenerstellung.
GKE-Features für angehängte Cluster aktivieren
Nachdem Sie Ihre Cluster registriert haben, können Sie verfügbare GKE-Funktionen für Ihre Anwendungen aktivieren. Diese Funktionen werden nur von unseren bestätigten Clustertypen unterstützt. Die jeweils unterstützten Funktionsversionen für diese Typen finden Sie unter Versions- und Upgrade-Support.
In den folgenden Anleitungen erfahren Sie, wie Sie unterstützte Funktionen in Clustern aktivieren:
Auf angehängte Cluster zugreifen
Nachdem Sie einen angehängten Cluster registriert haben, wird er auf den GKE-Clusterseiten in der Google Cloud consoleangezeigt. Wenn Sie jedoch weitere Details wie Knoten und Arbeitslasten sehen möchten, müssen Sie sich beim Cluster anmelden und sich bei diesem authentifizieren. Folgen Sie der Anleitung unter Über die Google Cloud Console bei Clustern anmelden, um sich über die Google Cloud Console bei Ihren angehängten Clustern anzumelden. Je nach ausgewählter Authentifizierungsmethode müssen Sie oder ein Plattformadministrator möglicherweise zusätzliche Einrichtungsschritte ausführen, bevor Sie oder andere Nutzer sich beim Cluster anmelden können.
Informationen zum Zugriff auf angehängte Cluster über die Befehlszeile mit einer Google Cloud -Identität finden Sie unter Verbindung zu registrierten Clustern mit dem Connect-Gateway herstellen.
Informationen zum Authentifizieren bei angehängten Clustern mit Ihrem externen Identitätsanbieter (nur EKS in AWS-Clustern, Funktion in der Vorabversion) finden Sie unter GKE Identity Service für eine Flotte einrichten und Mit GKE Identity Service auf Cluster zugreifen.