Upgrade eines Administrator- oder Nutzerclusters mit GKE On-Prem API-Clients durchführen

Durch ein Upgrade Ihrer Google Distributed Cloud-Cluster können Sie die neuesten Kubernetes-Features, Sicherheitsupdates und Fehlerkorrekturen bereitstellen. Sie können Administrator- oder Nutzercluster, die in der GKE On-Prem API registriert sind, über die Google Cloud Console oder die Google Cloud CLI aktualisieren. Wenn Sie Ihren Nutzercluster mit Terraform erstellt haben, können Sie ihn auch mit Terraform aktualisieren.

Informationen zu Upgradeanforderungen, Best Practices und weitere Informationen zum Upgradeprozess finden Sie unter Best Practices für Upgrades und Lebenszyklus und Phasen von Clusterupgrades.

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 mithilfe von Terraform und Standard-Tools vonGoogle Cloud verwalten können. Die GKE On-Prem API wird in der Infrastruktur von Google Cloudausgefü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, upzugraden und zu löschen. Wenn Sie den Cluster mit einem Standardclient erstellt haben, ist der Cluster in der GKE On-Prem API registriert. Das bedeutet, dass Sie die Standardclients verwenden können, um den Lebenszyklus des Clusters zu verwalten (mit einigen Ausnahmen). Wenn Sie den Cluster mit bmctl erstellt haben, können Sie ihn in der GKE On-Prem API registrieren. So können Sie die Standardclients verwenden.

Hinweise

Die gcloud CLI einrichten

So aktualisieren Sie einen Cluster mit der gcloud CLI oder Terraform:

  1. Prüfen Sie, ob Sie die aktuelle Version der gcloud CLI nutzen. Aktualisieren Sie bei Bedarf die gcloud CLI-Komponenten:

    gcloud components update
    

IAM-Anforderungen

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

Wenn Sie den Cluster mit der Console aktualisieren möchten, benötigen Sie mindestens:

  • roles/container.viewer. Mit dieser Rolle können Nutzer die GKE-Clusterseite und andere Containerressourcen in der Console aufrufen. Ausführliche Informationen zu den in dieser Rolle enthaltenen Berechtigungen und zum Zuweisen 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 aufrufen. Ausführliche Informationen zu den in dieser Rolle enthaltenen Berechtigungen und zum Zuweisen einer Rolle mit Lese-/Schreibberechtigungen finden Sie in der IAM-Dokumentation unter GKE-Hub-Rollen.

Versionsanforderungen

Es dauert etwa 7 bis 14 Tage nach einem Google Distributed Cloud-Release, bis die Version in der GKE On-Prem API verfügbar ist.

Sie können ein Upgrade direkt auf jede Version ausführen, die sich in der gleichen Nebenversion oder in der nächsten Nebenversion befindet. Beispielsweise können Sie ein Upgrade von Version 1.36.100 auf 1.36.200 oder von 1.35.100 auf 1.36.200 ausführen. Ein Upgrade auf eine Version, die mehr als eine Nebenversion 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 aktualisieren

Console

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

    Zu GKE-Clustern

  2. Wählen Sie das Projekt Google Cloud und dann den Cluster aus, den Sie aktualisieren möchten.

  3. Klicken Sie im Bereich 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 upgraden möchten. Wir empfehlen Ihnen, ein Upgrade auf die aktuelle Patch-Version durchzuführen.

  6. Klicken Sie auf Upgrade.

Vor dem Upgrade des Clusters werden Preflight-Prüfungen ausgeführt, um den Cluster- und den Knotenstatus zu validieren. Sind die Preflight-Prüfungen erfolgreich, wird der Administratorcluster aktualisiert. Das Upgrade dauert je nach Größe des Clusters mindestens 30 Minuten.

Klicken Sie auf dem Tab Clusterdetails auf Details ansehen, um den Status der Aktualisierung anzuzeigen.

gcloud-CLI

  1. Optional können Sie alle registrierten Administratorcluster im Projekt auflisten, 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 Flotten-Hostprojekts, in dem der Cluster Mitglied ist. Wenn Sie den Cluster mit bmctl erstellt haben, ist dies die Projekt-ID im Feld gkeConnect.projectID in der Cluster-Konfigurationsdatei.

    • 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 eine bestimmte Region fest.

    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. Rufen Sie eine Liste der verfügbaren Versionen auf, auf die ein Upgrade möglich ist:

    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, zu dem der Cluster gehört.

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

  3. Administratorcluster aktualisieren.

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

    Ersetzen Sie VERSION durch die Version von Google Distributed Cloud, auf die Sie aktualisieren möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen Ihnen, ein Upgrade auf die aktuelle Patch-Version durchzuführen.

    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 neues 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 des Clusters mindestens 30 Minuten. Während der Cluster aktualisiert wird, können Sie den vorherigen Befehl von Zeit zu Zeit ausführen, um den aktuellen Status abzurufen.

Wenn das Upgrade abgeschlossen ist, wird im Terminalfenster, in dem Sie den Befehl gcloud ... update ausgeführt haben, eine Ausgabe wie die folgende angezeigt:

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.36.200-gke.118      abm-admin-cluster  RUNNING

Weitere Informationen zu den Feldern und Flags finden Sie in der Referenz: gcloud Container Bare-Metal-Admin-Cluster.

Nutzercluster aktualisieren

Console

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

    Zu GKE-Clustern

  2. Wählen Sie das Projekt Google Cloud und dann den Cluster aus, den Sie aktualisieren möchten.

  3. Klicken Sie im Bereich 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 upgraden möchten.

  6. Klicken Sie auf Upgrade.

Vor dem Upgrade des Clusters werden Preflight-Prüfungen ausgeführt, um den Cluster- und den Knotenstatus zu validieren. Sind die Preflight-Prüfungen erfolgreich, wird der Administratorcluster aktualisiert. Das Upgrade dauert je nach Größe des Clusters mindestens 30 Minuten.

Klicken Sie auf dem Tab Clusterdetails auf Details ansehen, um den Status der Aktualisierung anzuzeigen.

gcloud-CLI

  1. Optional können Sie alle registrierten Nutzercluster im Projekt auflisten, um den Clusternamen und die Region zu bestätigen:

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

    • 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 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.36.200-gke.118   abm-admin-cluster  RUNNING
    

    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. Rufen Sie eine Liste der verfügbaren Versionen auf, auf die ein Upgrade möglich ist:

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

    Ersetzen Sie Folgendes:

    • USER_CLUSTER_NAME: Name des Nutzerclusters, der gelöscht werden soll.

    • PROJECT_ID: Die ID des Flotten-Hostprojekts, zu dem der Cluster gehört.

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

    Die Ausgabe dieses 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 der Nutzercluster aktualisiert werden kann.

  3. Führen Sie das Nutzercluster-Upgrade durch:

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

    Ersetzen Sie VERSION durch die Version von Google Distributed Cloud, auf die Sie aktualisieren möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen Ihnen, ein Upgrade auf die aktuelle Patch-Version durchzuführen.

    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 neues 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 des Clusters mindestens 30 Minuten. Während der Cluster aktualisiert wird, können Sie den vorherigen Befehl von Zeit zu Zeit ausführen, um den aktuellen Status abzurufen.

Weitere Informationen zu den Feldern und Flags finden Sie in der Referenz: gcloud Container Bare-Metal-Cluster.

Terraform

Wenn Sie einen Cluster mit Terraform aktualisieren möchten, verwenden Sie die Terraform-Konfiguration, die Sie auch zum Erstellen des Clusters verwendet haben.

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

  2. Rufen Sie eine Liste der verfügbaren Versionen auf, auf die ein Upgrade möglich ist:

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

    Ersetzen Sie Folgendes:

    • USER_CLUSTER_NAME: Name des Nutzerclusters, der gelöscht werden soll.

    • PROJECT_ID: Die ID des Flotten-Hostprojekts, zu dem der Nutzercluster gehört.

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

    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.

  3. Ersetzen Sie in Ihrer Terraform-Konfiguration bare_metal_version durch die Version von Google Distributed Cloud, auf die Sie aktualisieren möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen, ein Upgrade auf die aktuelle Patch-Version durchzuführen.

  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.