Drittanbietercluster an Google Cloud anhängen (vorherige Generation)

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 Enterprise-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 Enterprise-Features, die für angehängte Clustern unterstützt werden, finden Sie unter Unterstützung für Anthos-Komponenten und Multi-Cloud.

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

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  2. Make sure that billing is enabled for your Google Cloud project.

  3. Enable the Anthos API.

    Enable the API

  4. Install the Google Cloud CLI.
  5. To initialize the gcloud CLI, run the following command:

    gcloud init
  6. 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.
  7. In der Vorbereitung finden Sie spezifische Anforderungen zum Anhängen von Clustern außerhalb von Google Cloud, einschließlich spezieller Einrichtungsschritte, die Sie für den Clustertyp möglicherweise benötigen.

Angehängte Cluster registrieren

Sie müssen alle Cluster, die Sie mit GKE Enterprise 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 Enterprise- und Google Cloud-Komponenten verwenden Flottenkonzepte wie Identitätsgleichheit und Namespace-Gleichheit, um die Arbeit mit mehreren Clustern zu vereinfachen. In unserem Leitfaden zur Flottenverwaltung finden Sie viele weitere Informationen zu Flotten und ihren Funktionen.

Sie sind berechtigt, GKE Enterprise-Features auf diesen Clustern zu aktivieren und zu verwenden. Einige GKE Enterprise-Features können Sie auf Flottenebene über die GKE-Featuresseite verwalten. GKE Enterprise-Gebühren gelten nur für Ihre registrierten Cluster.

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 Cloud verbunden ist. Falls Probleme bei der Registrierung auftreten, finden Sie weitere Informationen in der Anleitung zur Fehlerbehebung.

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:

  • 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 Namespace gke-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.

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

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:

  1. Rufen Sie in der Google Cloud Console die Seite Google Kubernetes Engine-Cluster auf.

    Zu GKE-Clustern

  2. Klicken Sie auf Vorhandenen Cluster registrieren.

  3. Klicken Sie auf Externen Cluster hinzufügen.

  4. Geben Sie im Feld Clustername den Namen des Clusters ein, den Sie registrieren möchten.

  5. Optional: Google Cloud-Labels zum Cluster hinzufügen.

  6. Klicken Sie auf Anmeldebefehl generieren.

  7. 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.

  8. Klicken Sie auf Labels festlegen oder auf Überspringen, wenn Sie keine Labels festgelegt haben.

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

{"kubernetes.io/os":"linux"}
zurückgeben.

Fehlerbehebung

Wenn bei dieser Einrichtung Probleme auftreten, lesen Sie die Anleitung zur Fehlerbehebung bei der Erstellung der Flotte.

GKE Enterprise-Features für angehängte Cluster aktivieren

Nachdem Sie Ihre Cluster registriert haben, können Sie verfügbare GKE Enterprise-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:

Vollständige Dokumentationen für alle GKE Enterprise-Komponenten, einschließlich Anleitungen, Referenzmaterial und mehr, finden Sie unter GKE Enterprise-Komponenten.

Auf angehängte Cluster zugreifen

Nachdem Sie einen angehängten Cluster registriert haben, wird er auf den GKE- und Anthos-Clusterseiten in der Google Cloud Console angezeigt. 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 Cloud Console bei Clustern anmelden, um sich über die 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.

Nächste Schritte