Auf dieser Seite wird erläutert, wie Sie mit der Google Cloud Console oder der Google Cloud CLI ein Upgrade für einen Google Distributed Cloud-Administrator- oder -Nutzercluster durchführen, der bei der GKE On-Prem API registriert ist. Wenn Sie den Nutzercluster mit Terraform erstellt haben, können Sie ihn mit Terraform aktualisieren. Weitere Informationen zu Upgradeanforderungen, Best Practices und weiteren Informationen zum Upgradeprozess finden Sie unter Best Practices für Upgrades und 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 mithilfe von Terraform und Google Cloud-Standardtools 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 zum Erstellen, Aktualisieren, Aktualisieren und Löschen von Clustern in Ihrem Rechenzentrum. Wenn Sie den Cluster mit einem Standardclient erstellt haben, wird der Cluster bei der GKE On-Prem API registriert. Das bedeutet, dass Sie (mit einigen Ausnahmen) die Standardclients verwenden können, um den Lebenszyklus des Clusters zu verwalten.
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 verwenden Sie die gcloud CLI oder Terraform, um einen Cluster zu aktualisieren:
Prüfen Sie, ob Sie die neueste Version der gcloud CLI haben. 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 in dieser Rolle enthaltenen Berechtigungen finden Sie unter GKE On-Prem-Rollen in der IAM-Dokumentation.
Damit Sie den Cluster über die Console aktualisieren können, benötigen Sie mindestens Folgendes:
roles/container.viewer
: Mit dieser Rolle können Nutzer die Seite „GKE-Cluster“ und andere Containerressourcen in der Console ansehen. Einzelheiten zu den in dieser Rolle enthaltenen Berechtigungen oder zum Zuweisen einer Rolle mit Lese-/Schreibberechtigungen finden Sie unter Kubernetes Engine-Rollen in der IAM-Dokumentation.roles/gkehub.viewer
: Mit dieser Rolle können Nutzer Cluster in der Console ansehen. Weitere Informationen zu den in dieser Rolle enthaltenen Berechtigungen oder 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 direktes Upgrade auf eine Version innerhalb derselben Nebenversion oder der nächsten Nebenversion vornehmen. Beispielsweise können Sie ein Upgrade von 1.29.100 auf 1.29.200 oder von 1.28.100 auf 1.29.200 durchführen. Ein Upgrade auf eine Version, die mehr als eine Nebenversion nach der installierten 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 Übersichtsseite für Google Kubernetes Engine-Cluster auf.
Wählen Sie das Google Cloud-Projekt und dann den Cluster aus, den Sie upgraden möchten.
Klicken Sie im Bereich Details auf Mehr Details.
Klicken Sie im Abschnitt Clustergrundlagen auf
Upgrade.Wählen Sie in der Liste Zielversion auswählen die Version aus, auf die Sie ein Upgrade ausführen möchten. Wir empfehlen ein Upgrade auf die neueste Patch-Version.
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 ein Upgrade des Administratorclusters durchgeführt. Das Upgrade kann je nach Größe des Clusters 30 Minuten oder länger dauern.
Klicken Sie auf dem Tab Clusterdetails auf Details anzeigen, um den Status des Upgrades anzusehen.
gcloud-CLI
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 Flotten-Hostprojekts, zu dem der Cluster gehört. Wenn Sie den Cluster mitbmctl
erstellt haben, ist dies die Projekt-ID im FeldgkeConnect.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 der Fehler
PERMISSION_DENIED
angezeigt wird, prüfen Sie noch einmal die eingegebene Projekt-ID. Wenn die Projekt-ID korrekt ist, führen Siegcloud auth login
aus, um sich in der Google Cloud CLI mit dem Konto anzumelden, das Zugriff auf das Projekt hat.Rufen Sie eine Liste der verfügbaren Versionen ab, 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 Flotten-Hostprojekts, dem der Cluster angehört.REGION
: Die Google Cloud-Region, in der die GKE On-Prem API ausgeführt wird und Clustermetadaten speichert.
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 Google Distributed Cloud-Version, auf die Sie ein Upgrade ausfü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
dieOPERATION_ID
des Vorgangs mit langer Ausführungszeit.Kopieren Sie die
OPERATION_ID
aus Ihrer Ausgabe in den folgenden Befehl, um den Status des Vorgangs abzurufen. Ö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 kann je nach Größe des Clusters 30 Minuten oder länger dauern. Beim Upgrade des Clusters 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, 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.29.100-gke.251 abm-admin-cluster RUNNING
Weitere Informationen zu den Feldern und Flags finden Sie in der Referenz zu gcloud container Bare-Metal-Admin-Clustern.
Nutzercluster aktualisieren
Console
Rufen Sie in der Console die Übersichtsseite für Google Kubernetes Engine-Cluster auf.
Wählen Sie das Google Cloud-Projekt und dann den Cluster aus, den Sie upgraden möchten.
Klicken Sie im Bereich Details auf Mehr Details.
Klicken Sie im Abschnitt Clustergrundlagen auf
Upgrade.Wählen Sie in der Liste Zielversion auswählen die Version aus, auf die Sie ein Upgrade ausführen möchten.
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 kann je nach Größe des Clusters 30 Minuten oder länger dauern.
Klicken Sie auf dem Tab Clusterdetails auf Details anzeigen, um den Status des Upgrades anzusehen.
gcloud-CLI
Listen Sie optional alle registrierten Nutzercluster im Projekt auf, 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, zu dem der Cluster gehört. Wenn Sie den Cluster mitbmctl
erstellt haben, ist dies die Projekt-ID im FeldgkeConnect.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.29.100-gke.251 abm-admin-cluster RUNNING
Wenn der Fehler
PERMISSION_DENIED
angezeigt wird, prüfen Sie noch einmal die eingegebene Projekt-ID. Wenn die Projekt-ID korrekt ist, führen Siegcloud auth login
aus, um sich in der Google Cloud CLI mit dem Konto anzumelden, das Zugriff auf das Projekt hat.Rufen Sie eine Liste der verfügbaren Versionen ab, 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
: Der Name des Nutzerclusters, der aktualisiert werden soll.PROJECT_ID
: Die ID des Flotten-Hostprojekts, dem der Cluster angehört.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 unter
- hasDependencies: true
nicht aufgeführt ist. In diesem Beispiel ist1.14.6
die einzige verfügbare Version, auf die Sie den Nutzercluster upgraden können.Aktualisieren Sie den Nutzercluster:
gcloud container bare-metal clusters update USER_CLUSTER_NAME \ --project=PROJECT_ID \ --location=REGION \ --version=VERSION
Ersetzen Sie
VERSION
durch die Google Distributed Cloud-Version, auf die Sie ein Upgrade ausfü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
dieOPERATION_ID
des Vorgangs mit langer Ausführungszeit.Kopieren Sie die
OPERATION_ID
aus Ihrer Ausgabe in den folgenden Befehl, um den Status des Vorgangs abzurufen. Ö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 kann je nach Größe des Clusters 30 Minuten oder länger dauern. Beim Upgrade des Clusters 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
Zum Aktualisieren eines Clusters mit Terraform verwenden Sie dieselbe Terraform-Konfiguration, mit der Sie den Cluster erstellt haben.
Wechseln Sie in das Verzeichnis, in dem sich die Terraform-Konfigurationsdatei befindet.
Rufen Sie eine Liste der verfügbaren Versionen ab, 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
: Der Name des Nutzerclusters, der aktualisiert werden soll.PROJECT_ID
: Die ID des Flotten-Hostprojekts, dem dieser Nutzercluster angehört.REGION
: Die Google Cloud-Region, in der die GKE On-Prem API ausgeführt wird und ihre Metadaten speichert.
Wenn der Fehler
PERMISSION_DENIED
angezeigt wird, prüfen Sie noch einmal die eingegebene Projekt-ID. Wenn die Projekt-ID korrekt ist, führen Siegcloud auth login
aus, um sich in der Google Cloud CLI mit dem Konto anzumelden, das Zugriff auf das Projekt hat.Ändern Sie in der Terraform-Konfiguration
bare_metal_version
in die Google Distributed Cloud-Version, auf die Sie ein Upgrade ausführen möchten. Geben Sie eine Version aus der Ausgabe des vorherigen Befehls an. Wir empfehlen ein Upgrade auf die neueste Patchversion.Initialisieren und erstellen Sie den Terraform-Plan:
terraform init
Terraform installiert alle erforderlichen Bibliotheken, z. B. den Google Cloud-Anbieter.
Überprü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 Ressource google_gkeonprem_bare_metal_cluster
finden Sie in der Referenzdokumentation.