Cluster konfigurieren, der von der GKE On-Prem API verwaltet werden soll

Mit der GKE On-Prem API können Sie den Lebenszyklus lokaler Cluster über dieGoogle Cloud Console, die Google Cloud CLI oder Terraform verwalten. Wenn Sie mit diesen Tools einen Cluster erstellen, speichert die API Clustermetadaten in der von Ihnen ausgewählten Google Cloud-Region. Wenn Sie Cluster mit bmctl erstellen, müssen Sie sie in der GKE On-Prem API registrieren, um Details aufzurufen und ihren Lebenszyklus über diese Schnittstellen zu verwalten.

Die Registrierung eines Clusters ist ein separater Vorgang, der sich von der Registrierung eines Clusters bei einer Flotte unterscheidet. Alle Google Distributed Cloud-Cluster werden beim Erstellen automatisch in einem Flotten-Hostprojekt registriert. In der Google Cloud Console werden registrierte Cluster, die von der GKE On-Prem API verwaltet werden, in der Spalte Typ als Bare Metal angezeigt, während nicht registrierte Cluster als Extern angezeigt werden.

Voraussetzungen

  • Nur Nutzer- und Administratorcluster können bei der GKE On-Prem API registriert werden. Das Registrieren von Hybrid- und eigenständigen Clustern wird nicht unterstützt.
  • Version 1.13 oder höher.
  • Die Registrierung von Nutzerclustern, die unter benutzerdefinierten Namespaces erstellt wurden, wird nicht unterstützt. Die generierte Nutzercluster-Konfigurationsdatei verwendet den Standard-Cluster-Namespace im Format cluster-CLUSTER_NAME. Wenn Sie den Namespace beim Erstellen des Clusters ändern, werden Versuche, den Cluster bei der GKE On-Prem API zu registrieren, blockiert.

  • Wenn Sie kein Project Owner sind, benötigen Sie mindestens die IAM-Rolle (Identity and Access Management) roles/gkeonprem.admin für das Projekt. Weitere Informationen zu den in dieser Rolle enthaltenen Berechtigungen finden Sie in der IAM-Dokumentation unter GKE On-Prem-Rollen.

Vorbereitung

  1. Richten Sie bei Bedarf die gcloud CLI ein.

    1. Informationen zur Installation der gcloud CLI finden Sie in der gcloud CLI-Dokumentation. Aktualisieren Sie bei Bedarf die gcloud CLI-Komponenten:

      gcloud components update
      
  2. Führen Sie die folgenden Schritte aus, um die GKE On-Prem API zu aktivieren und zu verwenden:

    1. Aktivieren Sie die API in Ihrem Projekt:

      gcloud services enable \
          --project PROJECT_ID \
          gkeonprem.googleapis.com
      

      Ersetzen Sie PROJECT_ID durch die Projekt-ID des Flotten-Hostprojekts. Dies ist die Projekt-ID, die im gkeconnect-Abschnitt der Cluster-Konfigurationsdatei konfiguriert wurde.

      Wenn Sie den PERMISSION_DENIED-Fehler erhalten, prüfen Sie die eingegebene Projekt-ID. Wenn die Projekt-ID korrekt ist, führen Sie gcloud auth login aus, um sich mit dem Konto, das Zugriff auf das Projekt hat, in der Google Cloud CLI anzumelden.

    2. Wenn Sie die GKE On-Prem API zum ersten Mal in Ihrem Projekt aktivieren, müssen Sie die API initialisieren. Dazu können Sie einen gcloud CLI-Befehl aufrufen, mit dem die verfügbaren Versionen angezeigt werden, mit denen Sie einen Cluster erstellen können:

      gcloud container bare-metal clusters query-version-config \
          --project=PROJECT_ID \
          --location=REGION
      

      Ersetzen Sie REGION durch us-west1 oder eine andere unterstützte Region.

  3. Wenn Ihre Organisation eine Zulassungsliste eingerichtet hat, mit der Traffic von Google APIs und anderen Adressen über Ihren Proxyserver geleitet werden kann, fügen Sie der Zulassungsliste Folgendes hinzu:

    • gkeonprem.googleapis.com
    • gkeonprem.mtls.googleapis.com

    Dies sind die Dienstnamen für die GKE On-Prem API.

Nutzercluster registrieren

gcloud-CLI

  1. Listen Sie die Flottenmitgliedschaften registrierter Cluster auf:

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die Projekt-ID des Flotten-Hostprojekts.

    Notieren Sie sich die Region, in der sich der Administratorcluster befindet, der den Nutzercluster verwaltet, da Sie diese im nächsten Schritt benötigen.

  2. Registrieren Sie den Cluster in der GKE On-Prem API:

    gcloud container bare-metal clusters enroll USER_CLUSTER_NAME  \
        --project=PROJECT_ID \
        --admin-cluster-membership=projects/PROJECT_ID/locations/MEMBERSHIP_REGION/memberships/ADMIN_CLUSTER_NAME \
        --location=REGION
    

    Ersetzen Sie Folgendes:

    • USER_CLUSTER_NAME: Name des Nutzerclusters, den Sie registrieren möchten.

    • PROJECT_ID: die Projekt-ID Ihres Flotten-Hostprojekts.

    • MEMBERSHIP_REGION: die Region, in der sich der Administratorcluster befindet, der den Nutzercluster verwaltet. Dies kann global oder eine Google Cloud -Region sein.

    • ADMIN_CLUSTER_NAME: der Name des Administratorclusters, der den Nutzercluster verwaltet.

      ADMIN_CLUSTER_NAME, MEMBERSHIP_REGION und PROJECT_ID bilden den vollständig spezifizierten Clusternamen für das Flag --admin-cluster-membership.

    • REGION: die Google Cloud -Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert. Geben Sie us-west1 oder eine andere unterstützte Region an. Die Region kann nach der Anmeldung des Clusters nicht mehr geändert werden.

bmctl

Führen Sie die folgenden Schritte auf Ihrer Administratorworkstation aus.

  1. Fügen Sie der Konfigurationsdatei für den Nutzercluster folgenden Abschnitt hinzu:

    gkeOnPremAPI:
      enabled: true
      location: REGION
    

    Ersetzen Sie REGION durch die Google Cloud Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert. Geben Sie us-west1 oder eine andere unterstützte Region an. Die Region kann nach der Anmeldung des Clusters nicht mehr geändert werden.

  2. Aktualisieren Sie den Cluster:

    bmctl update cluster -c USER_CLUSTER_NAME \
      --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Ersetzen Sie dabei Folgendes:

    • USER_CLUSTER_NAME: Name des Nutzerclusters, der aktualisiert werden soll.

    • ADMIN_CLUSTER_KUBECONFIG: Pfad der kubeconfig-Datei des Administratorclusters.

Administratorcluster registrieren

gcloud-CLI

  1. Listen Sie die Flottenmitgliedschaften registrierter Cluster auf:

    gcloud container fleet memberships list \
        --project=PROJECT_ID
    

    Ersetzen Sie PROJECT_ID durch die Projekt-ID des Flotten-Hostprojekts.

    Notieren Sie sich die Region, in der sich der Administratorcluster befindet, da Sie diese im nächsten Schritt benötigen.

  2. Registrieren Sie den Administratorcluster in der GKE On-Prem API:

    gcloud container bare-metal admin-clusters enroll ADMIN_CLUSTER_NAME \
        --project=PROJECT_ID  \
        --admin-cluster-membership=projects/PROJECT_ID /locations/MEMBERSHIP_REGION /memberships/ADMIN_CLUSTER_NAME  \
        --location=REGION
    

Ersetzen Sie Folgendes:

  • ADMIN_CLUSTER_NAME: Name des Administratorclusters, den Sie registrieren möchten.

  • PROJECT_ID ist die Projekt-ID des Flotten-Hostprojekts.

  • MEMBERSHIP_REGION: die Region, in der der Administratorcluster Mitglied ist. Dies kann global oder eine Google Cloud -Region sein.

    ADMIN_CLUSTER_NAME, MEMBERSHIP_REGION und PROJECT_ID bilden den vollständig spezifizierten Clusternamen für das Flag --admin-cluster-membership.

  • REGION: die Google Cloud -Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert. Geben Sie us-west1 oder eine andere unterstützte Region an. Die Region kann nach der Anmeldung des Clusters nicht mehr geändert werden.

bmctl

Führen Sie die folgenden Schritte auf Ihrer Administratorworkstation aus.

  1. Fügen Sie der Konfigurationsdatei für den Administratorcluster folgenden Abschnitt hinzu:

    gkeOnPremAPI:
      enabled: true
      location: REGION
    

    Ersetzen Sie REGION durch die Google Cloud Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert. Geben Sie us-west1 oder eine andere unterstützte Region an. Die Region kann nach der Anmeldung des Clusters nicht mehr geändert werden.

  2. Aktualisieren Sie den Cluster:

    bmctl update cluster -c ADMIN_CLUSTER_NAME \
    --kubeconfig ADMIN_CLUSTER_KUBECONFIG
    

    Ersetzen Sie dabei Folgendes:

    • ADMIN_CLUSTER_NAME: Name des zu aktualisierenden Administratorclusters.

    • ADMIN_CLUSTER_KUBECONFIG: Pfad der kubeconfig-Datei des Administratorclusters.

Registrierte Cluster ansehen

Alle Ihre Flottencluster werden auf den GKE-Cluster-Seiten in der Console angezeigt. So erhalten Sie einen Überblick über Ihre gesamte Flotte und können bei Google Distributed Cloud sehen, welche Cluster von der GKE On-Prem API verwaltet werden.

So rufen Sie Ihre Flottencluster auf:

  1. Rufen Sie in der Console die Seite der GKE-Cluster auf.
    Zu GKE-Clustern
  2. Wählen Sie das Projekt Google Cloud aus.
    • Wenn in der Spalte Typ Bare Metal angezeigt wird, wird der Cluster von der GKE On-Prem API verwaltet.
    • Wenn in der Spalte Typ Extern angezeigt wird, wird der Cluster nicht von der GKE On-Prem API verwaltet.

Informationen zu Ihrem Cluster abrufen

Nachdem der Cluster registriert wurde, können Sie mit den folgenden Befehlen Informationen zu Ihren Clustern abrufen:

Nutzercluster

  • So beschreiben Sie einen Nutzercluster:
gcloud container bare-metal clusters describe USER_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • So listen Sie Ihre Nutzercluster auf:
gcloud container bare-metal clusters list \
    --project=PROJECT_ID \
    --location=-

Wenn Sie --location=- festlegen, bedeutet dies, dass alle Cluster in allen Regionen aufgelistet werden. Wenn Sie den Bereich in der Liste verkleinern möchten, legen Sie --location auf die Region fest, die Sie bei der Clusterregistrierung angegeben haben.

Administratorcluster

  • So beschreiben Sie einen Administratorcluster:
gcloud container bare-metal admin-clusters describe ADMIN_CLUSTER_NAME \
    --project=PROJECT_ID \
    --location=REGION
  • So listen Sie Ihre Administratorcluster auf:
gcloud container bare-metal admin-clusters list \
    --project=PROJECT_ID \
    --location=-

Wenn Sie --location=- festlegen, bedeutet dies, dass alle Cluster in allen Regionen aufgelistet werden. Wenn Sie den Bereich in der Liste verkleinern möchten, legen Sie --location auf die Region fest, die Sie bei der Clusterregistrierung angegeben haben.

Mit dem Cluster verbinden

Nachdem der Cluster bei der GKE On-Prem API registriert wurde, müssen Sie eine Authentifizierungsmethode auswählen und konfigurieren, damit Sie den Cluster über die Google Cloud Console verwalten können. Die von Ihnen ausgewählte Authentifizierungsmethode steuert auch den Zugriff auf den Cluster über die Befehlszeile. Weitere Informationen nachstehend: