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

Die GKE On-Prem API ist eine von Google Cloud gehostete API, mit der Sie den Lebenszyklus Ihrer lokalen Cluster mithilfe von Standardtools verwalten können: der Google Cloud Console, der Google Cloud CLI oder Terraform. Wenn Sie einen Cluster mit einem dieser Tools erstellen, speichert die API Metadaten zum Status Ihres Clusters in der Google Cloud-Region, die Sie beim Erstellen des Clusters angegeben haben. Mit diesen Metadaten können Sie den Lebenszyklus des Clusters mit den Standardtools verwalten. Wenn Sie diese Tools verwenden möchten, um Clusterdetails aufzurufen oder den Lebenszyklus von Clustern zu verwalten, die mit bmctl erstellt wurden, müssen Sie die Cluster in der GKE On-Prem API registrieren.

Terminologie

Wenn Sie einen Cluster registrieren, können Sie den Clusterlebenszyklus über die Console, die gcloud CLI oder Terraform verwalten.

Das Registrieren eines Clusters unterscheidet sich vom Registrieren eines Clusters in einer Flotte. Eine Flotte ist eine logische Gruppierung von Kubernetes-Clustern, die Sie zusammen verwalten können. Alle GKE on Bare Metal-Cluster werden zum Zeitpunkt der Clustererstellung bei einer Flotte registriert. Wenn Sie einen Cluster mit bmctl erstellen, wird der Cluster bei dem Google Cloud-Projekt registriert, das Sie in der Clusterkonfigurationsdatei im Feld gkeConnect.projectID angeben. Dieses Projekt wird als Flotten-Hostprojekt bezeichnet. Weitere Informationen zu Flotten, einschließlich Anwendungsfällen, Best Practices und Beispielen, finden Sie in der Dokumentation zur Flottenverwaltung.

Registrierte Cluster ansehen

Alle Flottencluster werden auf den Seiten GKE Enterprise-Cluster und GKE-Cluster in der Console angezeigt. So erhalten Sie sowohl einen Überblick über Ihre gesamte Flotte als auch für GKE on Bare Metal sehen Sie, welche Cluster von der GKE On-Prem API verwaltet werden.

So rufen Sie Ihre Flottencluster auf:

  1. Rufen Sie in der Console die Seite „GKE Enterprise-Cluster“ auf.
    Zur Seite „GKE Enterprise-Cluster“
  2. Wählen Sie das Google Cloud-Projekt 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.
Liste der GKE Enterprise-Cluster

Voraussetzungen

  • Nur Nutzer- und Administratorcluster können mit 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.

  • Wenn Sie kein Projektinhaber sind, müssen Sie mindestens die Rolle roles/gkeonprem.admin für Identity and Access Management für das Projekt haben. Ausführliche Informationen zu den in dieser Rolle enthaltenen Berechtigungen finden Sie unter GKE On-Prem-Rollen in der IAM-Dokumentation.

Hinweise

  1. Richten Sie bei Bedarf die gcloud CLI ein.

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

      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 Ihres Flotten-Hostprojekts. Dies ist die Projekt-ID, die im Abschnitt gkeconnect Ihrer Clusterkonfigurationsdatei konfiguriert wurde.

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

    2. Wenn Sie die GKE On-Prem API zum ersten Mal in Ihrem Projekt aktiviert haben, müssen Sie die API initialisieren. Dazu rufen Sie einen gcloud CLI-Befehl auf, der verfügbare Versionen anzeigt, 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, damit Traffic von Google APIs und anderen Adressen den Proxyserver passieren kann, fügen Sie Folgendes hinzu:

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

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

Nutzercluster registrieren

gcloud-CLI

Scrollen Sie gegebenenfalls nach unten, um den Platzhalter ADMIN_CLUSTER_NAME für das Flag --admin-cluster-membership auszufüllen.

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

Ersetzen Sie Folgendes:

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

  • PROJECT_ID Die Projekt-ID Ihres Flotten-Hostprojekts.

  • ADMIN_CLUSTER_NAME: Der Administratorcluster, der den Nutzercluster verwaltet. Der Name des Administratorclusters ist das letzte Segment des vollständig angegebenen Clusternamens, das den Cluster in Google Cloud eindeutig identifiziert.

  • 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 Registrierung des Clusters nicht mehr geändert werden.

bmctl

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

  1. Fügen Sie der Konfigurationsdatei des Nutzerclusters den 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 Registrierung 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 Folgendes:

    • USER_CLUSTER_NAME: der Name des zu aktualisierenden Nutzerclusters.

    • ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters.

Administratorcluster registrieren

gcloud-CLI

Scrollen Sie gegebenenfalls nach unten, um den Platzhalter ADMIN_CLUSTER_NAME für das Flag --admin-cluster-membership auszufüllen.

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

Ersetzen Sie Folgendes:

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

  • PROJECT_ID Die Projekt-ID Ihres Flotten-Hostprojekts.

    ADMIN_CLUSTER_NAME und PROJECT_ID werden verwendet, um den vollständig angegebenen Clusternamen für das Flag --admin-cluster-membership zu bilden.

  • 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 Registrierung des Clusters nicht mehr geändert werden.

bmctl

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

  1. Fügen Sie der Konfigurationsdatei des Administratorclusters den 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 Registrierung 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 Folgendes:

    • ADMIN_CLUSTER_NAME: der Name des zu aktualisierenden Administratorclusters.

    • ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters.

Informationen zu Ihrem Cluster abrufen

Nach der Registrierung des Clusters können Sie mit den folgenden Befehlen Informationen über Ihre Cluster 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, werden alle Cluster in allen Regionen aufgelistet. Wenn Sie einen Bereich in der Liste nach unten verschieben müssen, legen Sie für --location die Region fest, die Sie bei der Registrierung des Clusters 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, werden alle Cluster in allen Regionen aufgelistet. Wenn Sie einen Bereich in der Liste nach unten verschieben müssen, legen Sie für --location die Region fest, die Sie bei der Registrierung des Clusters 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 ausgewählte Authentifizierungsmethode steuert auch den Zugriff auf den Cluster über die Befehlszeile. Weitere Informationen nachstehend: