Auf dieser Seite wird beschrieben, wie Sie mit der Google Cloud Console oder der Google Cloud CLI einen Administrator- oder Nutzercluster von Google Distributed Cloud aktualisieren, der in der GKE On-Prem API registriert ist. Wenn Sie Ihren Nutzercluster mit Terraform erstellt haben, können Sie ihn auch mit Terraform aktualisieren. Informationen zu den Upgradeanforderungen, Best Practices und weiteren 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 Google Cloud-Standard-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, upzugraden und zu löschen. Wenn Sie den Cluster mit einem Standardclient erstellt haben, wird er in der GKE On-Prem API registriert. Das bedeutet, dass Sie den Lebenszyklus des Clusters mit den Standardclients verwalten können (mit einigen Ausnahmen).
Wenn Sie den Cluster mit bmctl
erstellt haben, können Sie ihn in der GKE On-Prem API registrieren, um die Standardclients zu verwenden.
Hinweise
Die gcloud CLI einrichten
So führen Sie ein Clusterupgrade mit der gcloud CLI oder Terraform durch:
Prüfen Sie, ob Sie die neueste Version der gcloud CLI haben. Aktualisieren Sie gegebenenfalls die gcloud CLI-Komponenten:
gcloud components update
IAM-Anforderungen
Wenn Sie kein Projektinhaber sind, muss Ihnen die IAM-Rolle roles/gkeonprem.admin
für das Google Cloud-Projekt 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 Folgendes:
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
Nach einem Google Distributed Cloud-Release dauert es etwa sieben bis zehn Tage, 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.30.100 auf 1.30.200 oder von 1.29.100 auf 1.30.200 ausführen. Ein Upgrade auf eine Version, die mehr als eine Nebenversion später als die installierte Version ist, 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
Rufen Sie in der Console die Seite Google Kubernetes Engine-Cluster – Übersicht auf.
Wählen Sie das Google Cloud-Projekt und dann den Cluster aus, den Sie aktualisieren möchten.
Klicken Sie im Bereich Details auf Weitere Informationen.
Klicken Sie im Abschnitt Clustergrundlagen auf
Upgrade.Wählen Sie in der Liste Zielversion auswählen die Version aus, auf die Sie aktualisieren möchten. Wir empfehlen Ihnen, ein Upgrade auf die neueste Patch-Version durchzuführen.
Klicken Sie auf Upgrade.
Vor dem Upgrade des Clusters werden Preflight-Prüfungen ausgeführt, um den Clusterstatus und den Knotenstatus zu validieren. Wenn die Preflight-Prüfungen erfolgreich sind, wird der Administratorcluster aktualisiert. Je nach Größe des Clusters kann das Upgrade 30 Minuten oder länger dauern.
Klicken Sie auf dem Tab Clusterdetails auf Details ansehen, um den Status der Umstellung aufzurufen.
gcloud-CLI
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 mitbmctl
erstellt haben, ist dies die Projekt-ID im FeldgkeConnect.projectID
in der Clusterkonfigurationsdatei.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 Siegcloud auth login
aus, um sich mit dem Konto, das Zugriff auf das Projekt hat, in der Google Cloud CLI anzumelden.Rufen Sie eine Liste der verfügbaren Versionen auf, auf die Sie upgraden können:
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 Hostprojekts der Flotte, in der der Cluster Mitglied ist.REGION
: Die Google Cloud-Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert.
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 ein Upgrade ausführen möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen Ihnen, ein Upgrade auf die neueste 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
derOPERATION_ID
des Vorgangs mit langer Ausführungszeit.Wenn Sie den Status des Vorgangs prüfen möchten, kopieren Sie die
OPERATION_ID
aus der Ausgabe in den folgenden Befehl. Ö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
Je nach Größe des Clusters kann das Upgrade 30 Minuten oder länger dauern. 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, wird im Terminalfenster, in dem Sie den Befehl gcloud ... update
ausgeführt haben, in etwa Folgendes 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.30.100-gke.96 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
Rufen Sie in der Console die Seite Google Kubernetes Engine-Cluster – Übersicht auf.
Wählen Sie das Google Cloud-Projekt und dann den Cluster aus, den Sie aktualisieren möchten.
Klicken Sie im Bereich Details auf Weitere Informationen.
Klicken Sie im Abschnitt Clustergrundlagen auf
Upgrade.Wählen Sie in der Liste Zielversion auswählen die Version aus, auf die Sie aktualisieren möchten.
Klicken Sie auf Upgrade.
Vor dem Upgrade des Clusters werden Preflight-Prüfungen ausgeführt, um den Clusterstatus und den Knotenstatus zu validieren. Wenn die Preflight-Prüfungen erfolgreich sind, wird der Nutzercluster aktualisiert. Je nach Größe des Clusters kann das Upgrade 30 Minuten oder länger dauern.
Klicken Sie auf dem Tab Clusterdetails auf Details ansehen, um den Status der Umstellung aufzurufen.
gcloud-CLI
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 mitbmctl
erstellt haben, ist dies die Projekt-ID im FeldgkeConnect.projectID
in der Clusterkonfigurationsdatei.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.30.100-gke.96 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 Siegcloud auth login
aus, um sich mit dem Konto, das Zugriff auf das Projekt hat, in der Google Cloud CLI anzumelden.Rufen Sie eine Liste der verfügbaren Versionen auf, auf die Sie upgraden können:
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 Hostprojekts der Flotte, in der der Cluster Mitglied ist.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 ist1.14.6
die einzige verfügbare Version, auf die Sie den Nutzercluster aktualisieren können.Führen Sie ein Upgrade für den Nutzercluster 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 ein Upgrade ausführen möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen Ihnen, ein Upgrade auf die neueste 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
derOPERATION_ID
des Vorgangs mit langer Ausführungszeit.Wenn Sie den Status des Vorgangs prüfen möchten, kopieren Sie die
OPERATION_ID
aus der Ausgabe in den folgenden Befehl. Ö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
Je nach Größe des Clusters kann das Upgrade 30 Minuten oder länger dauern. 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 clusters.
Terraform
Wenn Sie einen Cluster mit Terraform aktualisieren möchten, verwenden Sie dieselbe Terraform-Konfiguration, die Sie zum Erstellen des Clusters verwendet haben.
Wechseln Sie in das Verzeichnis, in dem sich die Terraform-Konfigurationsdatei befindet.
Rufen Sie eine Liste der verfügbaren Versionen auf, auf die Sie upgraden können:
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 Hostprojekts der Flotte, in der der 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
PERMISSION_DENIED
-Fehler erhalten, prüfen Sie die eingegebene Projekt-ID. Wenn die Projekt-ID korrekt ist, führen Siegcloud auth login
aus, um sich mit dem Konto, das Zugriff auf das Projekt hat, in der Google Cloud CLI anzumelden.Ersetzen Sie in Ihrer Terraform-Konfiguration
bare_metal_version
durch die Version von Google Distributed Cloud, 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 Patch-Version durchzuführen.Initialisieren und erstellen Sie den Terraform-Plan:
terraform init
Terraform installiert alle erforderlichen Bibliotheken, z. B. den Google Cloud-Anbieter.
Prüfen Sie die Konfiguration und nehmen Sie bei Bedarf Änderungen vor:
terraform plan
Wenden Sie den Terraform-Plan an, um den Nutzercluster zu erstellen:
terraform apply
Informationen zur google_gkeonprem_bare_metal_cluster
-Ressource finden Sie in der Referenzdokumentation.