Administrator- oder Nutzercluster mit GKE On-Prem API-Clients upgraden

Auf dieser Seite wird erläutert, wie Sie mit der Google Cloud Console oder der Google Cloud CLI einen GKE on Bare Metal-Administrator- oder Nutzercluster upgraden, der bei der GKE On-Prem API registriert ist. Wenn Sie Ihren Nutzercluster mit Terraform erstellt haben, können Sie ihn mit Terraform aktualisieren. Informationen zu Upgradeanforderungen, Best Practices und zusätzlichen Informationen zum Upgradeprozess finden Sie in den Best Practices für Upgrades und unter Lebenszyklus und Phasen von Clusterupgrades, bevor Sie fortfahren.

Was ist die GKE On-Prem API?

Die GKE On-Prem API ist eine von Google Cloud gehostete API, mit der Sie den Lebenszyklus Ihrer lokalen Cluster mit Terraform und standardmäßigen Google Cloud-Tools verwalten können. Die GKE On-Prem API wird in der Infrastruktur von Google Cloud ausgeführt. Terraform, die Google Cloud Console und die Google Cloud CLI sind Clients der API. Sie verwenden die API, um Cluster in Ihrem Rechenzentrum zu erstellen, zu aktualisieren, zu aktualisieren und zu löschen. Wenn Sie den Cluster mit einem Standardclient erstellt haben, wird er in der GKE On-Prem API registriert. Sie können also die Standardclients zur Verwaltung des Lebenszyklus des Clusters verwenden (mit einigen Ausnahmen). Wenn Sie den Cluster mit bmctl erstellt haben, können Sie den Cluster in der GKE On-Prem API registrieren, sodass Sie die Standardclients verwenden können.

Hinweise

Die gcloud CLI einrichten

So aktualisieren Sie einen Cluster über die gcloud CLI oder Terraform:

  1. Prüfen Sie, ob Sie die neueste Version der gcloud CLI verwenden. Aktualisieren Sie bei Bedarf die Komponenten der gcloud CLI:

    gcloud components update
    

IAM-Anforderungen

Wenn Sie kein Projektinhaber sind, muss Ihnen die Rolle roles/gkeonprem.admin für Identity and Access Management für das Google Cloud-Projekt gewährt werden, in dem der Cluster erstellt wurde. Weitere Informationen zu den Berechtigungen, die in dieser Rolle enthalten sind, finden Sie in der IAM-Dokumentation unter GKE On-Prem-Rollen.

Wenn Sie die Console für das Upgrade des Clusters verwenden möchten, benötigen Sie mindestens Folgendes:

  • roles/container.viewer: Mit dieser Rolle können Nutzer die GKE-Clusterseite und andere Containerressourcen in der Console ansehen. Ausführliche Informationen zu den in dieser Rolle enthaltenen Berechtigungen oder zum Gewähren einer Rolle mit Lese-/Schreibberechtigungen finden Sie in der IAM-Dokumentation unter Kubernetes Engine-Rollen.

  • roles/gkehub.viewer: Mit dieser Rolle können Nutzer Cluster in der Console ansehen. Ausführliche Informationen zu den in dieser Rolle enthaltenen Berechtigungen oder zum Gewähren einer Rolle mit Lese-/Schreibberechtigungen finden Sie in der IAM-Dokumentation unter GKE-Hub-Rollen.

Versionsanforderungen

Nach einem GKE on Bare Metal-Release dauert es etwa sieben bis zehn Tage, bis die Version in der GKE On-Prem API verfügbar ist.

Sie können direkt ein Upgrade auf eine Version durchführen, die sich in derselben Nebenversion oder in der nächsten Nebenversion befindet. Sie können beispielsweise ein Upgrade von 1.28.100 auf 1.28.200 oder von 1.16.100 auf 1.28.200 ausführen. Ein Upgrade auf eine Version, die mehr als einen Nebenrelease nach der installierten Version liegt, ist nicht zulässig.

Ein Administratorcluster kann Nutzercluster verwalten, die sich in der gleichen oder einer früheren Nebenversion befinden. Verwaltete Nutzercluster können maximal eine Nebenversion niedriger als der Administratorcluster sein. Prüfen Sie daher vor dem Upgrade eines Administratorclusters auf eine neue Nebenversion, ob alle verwalteten Nutzercluster dieselbe Nebenversion als der Administratorcluster haben.

Administratorcluster upgraden

Console

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

    Zu GKE-Clustern

  2. Wählen Sie das Google Cloud-Projekt und dann den Cluster aus, für den Sie ein Upgrade durchführen möchten.

  3. Klicken Sie im Steuerfeld Details auf Weitere Details.

  4. Klicken Sie im Abschnitt Clustergrundlagen auf Upgrade.

  5. Wählen Sie in der Liste Zielversion auswählen die Version aus, auf die Sie ein Upgrade durchführen möchten. Wir empfehlen ein Upgrade auf die neueste Patchversion.

  6. Klicken Sie auf Upgrade.

Vor dem Upgrade des Clusters werden Preflight-Prüfungen ausgeführt, um den Clusterstatus und Knotenzustand zu validieren. Wenn die Preflight-Prüfungen bestanden sind, wird der Administratorcluster aktualisiert. Das Upgrade dauert je nach Größe Ihres Clusters mindestens 30 Minuten.

Klicken Sie auf dem Tab Clusterdetails auf Details anzeigen, um den Status des Upgrades anzusehen.

gcloud-CLI

  1. Listen Sie optional alle registrierten Administratorcluster im Projekt auf, um den Clusternamen und die Region zu bestätigen:

    gcloud container bare-metal admin-clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Ersetzen Sie PROJECT_ID durch die ID des Flottenhostprojekts, in dem der Cluster Mitglied ist. Wenn Sie den Cluster mit bmctl erstellt haben, ist dies die Projekt-ID im Feld gkeConnect.projectID der Clusterkonfigurationsdatei.

    • Wenn Sie --location=- festlegen, werden alle Cluster in allen Regionen aufgelistet. Wenn Sie die Liste verkleinern möchten, legen Sie für --location eine bestimmte Region fest.

    Wenn Sie den Fehler PERMISSION_DENIED 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. Rufen Sie eine Liste der verfügbaren Versionen für das Upgrade auf:

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

    Ersetzen Sie Folgendes:

    • ADMIN_CLUSTER_NAME: Der Name des Administratorclusters.

    • PROJECT_ID: Die ID des Flotten-Hostprojekts, in dem der Cluster Mitglied ist.

    • REGION: Die Google Cloud-Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert.

  3. Führen Sie ein Upgrade des Administratorclusters durch:

    gcloud container bare-metal admin-clusters update ADMIN_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Ersetzen Sie VERSION durch die GKE on Bare Metal-Version, auf die Sie ein Upgrade durchführen möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen ein Upgrade auf die neueste Patchversion.

    Die Ausgabe des Befehls sieht in etwa so aus:

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    In der Beispielausgabe ist der String operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 der OPERATION_ID des Vorgangs mit langer Ausführungszeit.

    Kopieren Sie den OPERATION_ID aus der Ausgabe in den folgenden Befehl, um den Status des Vorgangs zu ermitteln. Öffnen Sie ein anderes Terminalfenster und führen Sie den Befehl aus.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

Das Upgrade dauert je nach Größe Ihres Clusters 30 Minuten oder länger. Während der Cluster aktualisiert wird, können Sie den vorherigen Befehl gelegentlich ausführen, um den aktuellen Status abzurufen.

Wenn das Upgrade abgeschlossen ist, sehen Sie im Terminalfenster, in dem Sie den Befehl gcloud ... update ausgeführt haben, etwas wie Folgendes:

Updated Anthos on bare metal Admin Cluster [https://gkeonprem.googleapis.com/v1/projects/example-project-1234/locations/us-central1/bareMetalAdminClusters/abm-admin-cluster].
NAME               LOCATION     VERSION     MEMBERSHIP         STATE
abm-admin-cluster  us-central1  1.28.400-gke.77      abm-admin-cluster  RUNNING

Weitere Informationen zu den Feldern und Flags finden Sie in der Referenz zu gcloud container bare-metal admin-clusters.

Nutzercluster aktualisieren

Console

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

    Zu GKE-Clustern

  2. Wählen Sie das Google Cloud-Projekt und dann den Cluster aus, für den Sie ein Upgrade durchführen möchten.

  3. Klicken Sie im Steuerfeld Details auf Weitere Details.

  4. Klicken Sie im Abschnitt Clustergrundlagen auf Upgrade.

  5. Wählen Sie in der Liste Zielversion auswählen die Version aus, auf die Sie ein Upgrade durchführen möchten.

  6. Klicken Sie auf Upgrade.

Vor dem Upgrade des Clusters werden Preflight-Prüfungen ausgeführt, um den Clusterstatus und Knotenzustand zu validieren. Wenn die Preflight-Prüfungen bestanden sind, wird der Nutzercluster aktualisiert. Das Upgrade dauert je nach Größe Ihres Clusters mindestens 30 Minuten.

Klicken Sie auf dem Tab Clusterdetails auf Details anzeigen, um den Status des Upgrades anzusehen.

gcloud-CLI

  1. Listen Sie optional alle registrierten Nutzercluster im Projekt auf, um den Namen und die Region des Clusters zu bestätigen:

    gcloud container bare-metal clusters list \
      --project=PROJECT_ID \
      --location=-
    
    • Ersetzen Sie PROJECT_ID durch die ID des Flottenhostprojekts, in dem der Cluster Mitglied ist. Wenn Sie den Cluster mit bmctl erstellt haben, ist dies die Projekt-ID im Feld gkeConnect.projectID der Clusterkonfigurationsdatei.

    • Wenn Sie --location=- festlegen, werden alle Cluster in allen Regionen aufgelistet. Wenn Sie die Liste verkleinern möchten, legen Sie für --location eine bestimmte Region fest.

    Die Ausgabe dieses Befehls sieht in etwa so aus:

    NAME              LOCATION     VERSION  ADMIN_CLUSTER      STATE
    abm-user-cluster  us-central1  1.28.400-gke.77   abm-admin-cluster  RUNNING
    

    Wenn Sie den Fehler PERMISSION_DENIED 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. Rufen Sie eine Liste der verfügbaren Versionen für das Upgrade auf:

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

    Ersetzen Sie Folgendes:

    • USER_CLUSTER_NAME: Der Name des zu aktualisierenden Nutzerclusters.

    • PROJECT_ID: Die ID des Flotten-Hostprojekts, in dem der Cluster Mitglied ist.

    • REGION: Die Google Cloud-Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert.

    Die Ausgabe des Befehls sieht in etwa so aus:

    versions:
    - hasDependencies: true
    version: 1.15.2
    - hasDependencies: true
    version: 1.15.1
    - hasDependencies: true
    version: 1.15.0
    - version: 1.14.6
    

    Wählen Sie eine Version aus, die nicht unter - hasDependencies: true aufgeführt ist. In diesem Beispiel ist 1.14.6 die einzige verfügbare Version, auf die Sie ein Upgrade des Nutzerclusters durchführen können.

  3. Führen Sie ein Upgrade des Nutzerclusters durch:

    gcloud container bare-metal clusters update USER_CLUSTER_NAME \
      --project=PROJECT_ID \
      --location=REGION \
      --version=VERSION
    

    Ersetzen Sie VERSION durch die GKE on Bare Metal-Version, auf die Sie ein Upgrade durchführen möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen ein Upgrade auf die neueste Patchversion.

    Die Ausgabe des Befehls sieht in etwa so aus:

    Waiting for operation [projects/example-project-12345/locations/us-west1/operations/operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179] to complete.
    

    In der Beispielausgabe ist der String operation-1679543737105-5f7893fd5bae9-942b3f97-75e59179 der OPERATION_ID des Vorgangs mit langer Ausführungszeit.

    Kopieren Sie den OPERATION_ID aus der Ausgabe in den folgenden Befehl, um den Status des Vorgangs zu ermitteln. Öffnen Sie ein anderes Terminalfenster und führen Sie den Befehl aus.

    gcloud container bare-metal operations describe OPERATION_ID \
      --project=PROJECT_ID \
      --location=REGION
    

Das Upgrade dauert je nach Größe Ihres Clusters 30 Minuten oder länger. Während der Cluster aktualisiert wird, können Sie den vorherigen Befehl gelegentlich ausführen, um den aktuellen Status abzurufen.

Weitere Informationen zu den Feldern und Flags finden Sie in der Referenz zu gcloud container Bare-Metal-Clustern.

Terraform

Für das Upgrade eines Clusters mit Terraform verwenden Sie dieselbe Terraform-Konfiguration, mit der Sie den Cluster erstellt haben.

  1. Wechseln Sie in das Verzeichnis, in dem sich die Terraform-Konfigurationsdatei befindet.

  2. Rufen Sie eine Liste der verfügbaren Versionen für das Upgrade auf:

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

    Ersetzen Sie Folgendes:

    • USER_CLUSTER_NAME: Der Name des zu aktualisierenden Nutzerclusters.

    • PROJECT_ID: Die ID des Flotten-Hostprojekts, in dem dieser Nutzercluster Mitglied ist.

    • REGION: Die Google Cloud-Region, in der die GKE On-Prem API ausgeführt wird und ihre Metadaten speichert.

    Wenn Sie den Fehler PERMISSION_DENIED 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.

  3. Ändern Sie in Ihrer Terraform-Konfiguration bare_metal_version in die GKE on Bare Metal-Version, auf die Sie ein Upgrade durchführen möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen ein Upgrade auf die neueste Patchversion.

  4. Initialisieren und erstellen Sie den Terraform-Plan:

    terraform init
    

    Terraform installiert alle erforderlichen Bibliotheken, z. B. den Google Cloud-Anbieter.

  5. Überprüfen Sie die Konfiguration und nehmen Sie bei Bedarf Änderungen vor:

    terraform plan
    
  6. Wenden Sie den Terraform-Plan an, um den Nutzercluster zu erstellen:

    terraform apply
    

Informationen zur Ressource google_gkeonprem_bare_metal_cluster finden Sie in der Referenzdokumentation.