Cluster registrieren

Auf dieser Seite wird beschrieben, wie Sie Ihre Kubernetes-Cluster manuell bei Google Cloud registrieren.

Hinweis

  1. Aktivieren Sie die erforderlichen APIs in Ihrem Google Cloud-Projekt:
  2. Sorgen Sie für die Netzwerkverbindung für den Zugriff auf die Google Cloud API und die Dienstendpunkte. Wenn Sie einen GKE-Cluster registrieren, der in Google Cloud ausgeführt wird, ist dies standardmäßig der Fall.

  3. Google Cloud-Konfiguration

  4. Kubernetes-Konfiguration

Cluster registrieren

Bei allen manuellen Registrierungsoptionen für Cluster müssen Sie eine Identität angeben, die der Connect Agent bei der Authentifizierung bei Google verwenden soll. In den meisten Fällen sind dies die Anmeldedaten für ein Google Cloud-Dienstkonto. Für GKE-Cluster können Sie auch den Connect Agent so konfigurieren, dass er Workload Identity verwendet. Durch die Registrierung mit Workload Identity können sich der Connect Agent und andere Arbeitslasten in Ihrem Cluster bei Google authentifizieren, ohne dass Sie Google Cloud-Dienstkontoschlüssel herunterladen, manuell rotieren und verwalten müssen. Mithilfe von Workload Identity können sich der Connect Agent und andere Arbeitslasten mit kurzlebigen Tokens authentifizieren, die vom Cluster generiert werden. Weitere Informationen zu Workload Identity finden Sie unter Workload Identity verwenden.

Die Registrierung mit Workload Identity für GKE-Cluster ist derzeit nur über das gcloud-Befehlszeilentool verfügbar.

gcloud

GKE-Cluster registrieren

Während der Registrierung des Clusters können Sie den Connect Agent entweder mit Workload Identity oder mit einem Google Cloud-Dienstkonto konfigurieren.

GKE-Cluster mit Workload Identity registrieren (empfohlen)

  1. Prüfen Sie, ob Workload Identity auf Ihrem GKE-Cluster aktiviert ist

    Führen Sie den folgenden Befehl aus, um den Workload Identity-Pool aufzulisten, in dem Ihr Cluster Mitglied ist.

    gcloud container clusters describe GKE_CLUSTER --format="value(workloadIdentityConfig.workloadPool)"
    

    Dabei gilt:

    • GKE_CLUSTER: Der name des GKE-Clusters für das aktuelle Projekt.

    Wenn Sie ein Ergebnis wie das folgende sehen, ist Workload Identity bereits auf Ihrem GKE-Cluster aktiviert und Sie können direkt mit "Cluster registrieren" fortfahren.

    GKE_PROJECT_ID.svc.id.goog

    Wenn keine Ergebnisse vorhanden sind, ist Workload Identity auf dem GKE-Cluster nicht aktiviert. Bitte aktivieren Sie Workload Identity auf Ihrem GKE-Cluster, bevor Sie mit der Registrierung des Clusters fortfahren.

  2. Workload Identity aktivieren

    Folgen Sie der verlinkten Anleitung, um GKE Workload Identity zu aktivieren. Wenn Sie GKE Workload Identity aktivieren, wird das Authentifizierungsverhalten für alle neuen Knotenpools geändert, die nach der Aktivierung erstellt werden. Dies kann sich auf Anwendungen auswirken, die auf Dienstkonten angewiesen sind, die mit Compute Engine-Instanzen im Knotenpool verknüpft sind.

  3. Cluster registrieren

    Führen Sie einen der folgenden Befehle aus, um den Cluster zu registrieren:

    gcloud beta container hub memberships register MEMBERSHIP_NAME \
     --gke-uri=GKE_URI \
     --enable-workload-identity
    

    oder

    gcloud beta container hub memberships register MEMBERSHIP_NAME \
     --gke-cluster=GKE_CLUSTER \
     --enable-workload-identity
    

    Dabei gilt:

    • MEMBERSHIP_NAME ist der Name der Mitgliedschaft, den Sie für den Cluster festlegen, der für eine Flotte registriert wird.
    • GKE_URI ist der URI des GKE-Clusters, z. B. https://container.googleapis.com/v1/projects/my-gke-project/locations/us-central1-a/clusters/my-gke-cluster. Sie können den URI durch Ausführen von gcloud container clusters list --uri abrufen.
    • GKE_CLUSTER: location/name des GKE-Clusters aus dem aktuellen Projekt. Der Speicherort kann eine Zone oder Region sein, z. B. us-central1-a/my-gke-cluster.

GKE-Cluster mit Dienstkonto registrieren

Führen Sie einen der folgenden Befehle aus:

gcloud container hub memberships register MEMBERSHIP_NAME \
   --gke-uri=GKE_URI \
   --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH

oder

gcloud container hub memberships register MEMBERSHIP_NAME \
   --gke-cluster=GKE_CLUSTER \
   --service-account-key-file=SERVICE_ACCOUNT_KEY_PATH

Dabei gilt:

  • MEMBERSHIP_NAME ist der Name der Mitgliedschaft, den Sie für den Cluster festlegen, der für eine 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.
  • GKE_URI ist der URI des GKE-Clusters, z. B. https://container.googleapis.com/v1/projects/my-gke-project/locations/us-central1-a/clusters/my-gke-cluster. Sie können den URI durch Ausführen von gcloud container clusters list --uri abrufen.
  • GKE_CLUSTER: location/name des GKE-Clusters aus dem aktuellen Projekt. Der Speicherort kann eine Zone oder Region sein, z. B. us-central1-a/my-gke-cluster.

Anderen Cluster registrieren

Diese Anleitung gilt für Nicht-GKE-, Anthos Cluster in AWS, Anthos Clusters auf VMware und alle anderen Anthos-Cluster.

Führen Sie dazu diesen Befehl aus:

 gcloud container hub 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.

Console

Anthos on Google Cloud-Cluster registrieren

Diese Anleitung gilt für GKE-Cluster in Google Cloud in Projekten mit aktiviertem Anthos.

So registrieren Sie einen Cluster:

  1. Rufen Sie in der Google Cloud Console die Seite Anthos-Cluster auf. Auf dieser Seite werden alle registrierten Cluster angezeigt.

    Zur Seite „Anthos-Cluster”

  2. Klicken Sie auf Vorhandenen Cluster registrieren.

  3. Klicken Sie neben dem nicht registrierten Cluster auf Registrieren, um ihn Ihrer Flotte hinzuzufügen.

  4. Geben Sie das Dienstkonto an, das Sie bei der Registrierung des Clusters verwenden möchten. Wir empfehlen, das Standardverhalten beizubehalten und ein neues Dienstkonto zu erstellen.

    • Wenn Sie Neues Dienstkonto erstellen auswählen:
      • Geben Sie eine Dienstkonto-ID an, um das neue Dienstkonto zu identifizieren.
      • Wählen Sie aus, ob Sie den Dienstkontoschlüssel als JSON-Datei herunterladen möchten. Wir empfehlen, das Standardverhalten beizubehalten und den Schlüssel herunterzuladen, da Sie ihn später nicht mehr herunterladen können.
    • Wenn Sie Vorhandenes Dienstkonto verwenden auswählen, fügen Sie den Dienstkontoschlüssel des Kontos im JSON-Format ein.
  5. Optional: Geben Sie einen neuen Mitgliedschaftsnamen für Ihren Cluster an. Standardmäßig ist der Name der Mitgliedschaft eines Clusters der aktuelle Name. Wenn der Cluster-Name in Ihrem Projekt jedoch nicht eindeutig ist, müssen Sie einen neuen eindeutigen Mitgliedschaftsnamen angeben, da alle Cluster eine eindeutige Kennung innerhalb ihrer Flotte benötigen.

  6. Zum Registrieren des Clusters klicken Sie auf Senden.

Anderen Cluster registrieren

Diese Anleitung gilt für Nicht-GKE-, Anthos Cluster in AWS, Anthos Clusters auf VMware und alle anderen GKE- oder Anthos-Cluster.

So registrieren Sie einen Cluster:

  1. Rufen Sie in der Google Cloud Console die Seite Anthos-Cluster auf. Auf dieser Seite werden alle registrierten Cluster angezeigt.

    Zur Seite „Anthos-Cluster”

  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 hub 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 hub 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"}

Nächste Schritte