In diesem Dokument wird gezeigt, wie Sie ein Clusterupdate durchführen, das keine Versionsänderung enthält.
Ein Clusterupdate ist eine Änderung der Clusterkonfiguration.
Ein Clusterupgrade ist ein Sonderfall eines Clusterupdates, das eine Änderung der Version der Steuerungsebene oder einer Knotenpoolversion beinhaltet. Informationen zum Upgraden finden Sie unter Upgrade von Google Distributed Cloud ausführen.
Firewallregeln überprüfen
In Version 1.29 und höher sind serverseitige Preflight-Prüfungen standardmäßig aktiviert. Für serverseitige Preflight-Prüfungen sind zusätzliche Firewallregeln erforderlich. Suchen Sie unter Firewallregeln für Administratorcluster nach „Preflight-Prüfungen“ und prüfen Sie, ob alle erforderlichen Firewallregeln konfiguriert sind.
Wenn Sie bei serverseitigen Preflight-Prüfungen einen Nutzercluster mit gkectl
aktualisieren, werden die Preflight-Prüfungen auf dem Administratorcluster und nicht lokal auf der Administratorworkstation ausgeführt. Serverseitige Preflight-Prüfungen werden im Administratorcluster ausgeführt, wenn Sie einen Cluster über die Google Cloud Console, die Google Cloud CLI oder Terraform aktualisieren.
Wenn Sie einen Administratorcluster aktualisieren, stellt Google Distributed Cloud einen Kubernetes-in-Docker-Cluster (Typ) bereit, um die Kubernetes-Controller, die zum Aktualisieren des Administratorclusters erforderlich sind, vorübergehend zu hosten. Dieser temporäre Cluster wird als Bootstrap-Cluster bezeichnet. Serverseitige Preflight-Prüfungen werden im Bootstrap-Cluster ausgeführt, wenn Sie einen Administratorcluster aktualisieren.
Was kann aktualisiert werden?
Einige Clusterfeatures und -einstellungen können aktualisiert werden, andere Features und Einstellungen jedoch nicht, nachdem der Cluster erstellt wurde. Auf den Referenzseiten für die Konfigurationsdatei des Administratorclusters und die Konfigurationsdatei des Nutzerclusters sehen Sie, welche Features aktualisiert werden können. Felder, die aktualisiert werden können, sind als Veränderbar gekennzeichnet. Felder, die nicht aktualisiert werden können, sind als Unveränderlich gekennzeichnet.
Mit gkectl
-Befehlen können Sie auch sehen, welche Features und Einstellungen aktualisiert werden können.
So prüfen Sie, was in einem Administratorcluster aktualisiert werden kann:
gkectl update admin --help
Beispielausgabe:
Update the admin cluster. Only the following updates are supported and they can only be updated one at a time: - Enabling/Disabling Vsphere Resource Metrics - Adding static IPs - Updating vCenter CA certificate - Registering Admin Cluster - Enabling/Disabling Cloud Audit Logging - Enabling/Disabling Stackdriver - Enabling/Disabling Auto Repair - Enabling/Disabling Auto Resize for Addon Nodes - Enabling/Disabling GKE OnPrem API - Updating OS Image Type - Enabling/Disabling AntiAffinityGroups - Update Secrets Encryption Configuration - [Preview] Enabling/Disabling Cluster Backup - [Preview] Update Cluster Backup configs
So prüfen Sie, was in einem Nutzercluster aktualisiert werden kann:
gkectl update cluster --help
Beispielausgabe:
Update a GKE On-Prem cluster. Only the following updates are supported and they can only be updated one at a time: - Adding static IPs - Updating node pool - Updating user master cpu and memory - Enabling/Disabling Vsphere Resource Metrics - Enabling/Disabling vSphere CSI deployment - Enabling/Disabling Auto Repair - Enabling/Disabling Cloud Audit Logging - Enabling/Disabling Stackdriver - Enabling/Disabling GKE OnPrem API - Registering User Cluster - Updating vCenter CA certificate - Updating MetalLB Address Pools - Enabling/Disabling Auto Resizing on user master - Updating NodePoolUpdatePolicy - Enabling/Disabling AntiAffinityGroups - [Preview] Enabling/Disabling Node Network Policy - Updating Secrets Encryption - Enabling/Disabling DataplaneV2 forwardMode
Inhalte einzeln aktualisieren
Aktualisieren Sie jeweils nur eine Funktion oder Einstellung auf einmal. Angenommen, Sie möchten die Master-CPU und den Arbeitsspeicher aktualisieren und auch die automatische Reparatur deaktivieren.
Dann würden Sie zwei separate Updates vornehmen: eine für die Master-CPU und den Arbeitsspeicher und eine weitere automatische Reparatur. Prüfen Sie vor der zweiten Aktualisierung, ob die erste Aktualisierung erfolgreich war.
Aktualisierungsprozedur
Sie können gkectl
, die Google Cloud Console oder die Google Cloud CLI verwenden, um einen Nutzercluster zu aktualisieren. Wenn Sie den Nutzercluster mit Terraform erstellt haben, können Sie ihn mit Terraform aktualisieren. In fast allen Fällen müssen Sie gkectl
verwenden, um Administratorcluster zu aktualisieren.
Die folgenden Beispiele zeigen, wie Cluster aktualisiert werden.
gkectl
Der Befehl gkectl update
hat eines der folgenden Formate:
gkectl update credentials
– Hiermit können Sie die Clusteranmeldedaten aktualisieren.gkectl update admin
: Führen Sie diesen Befehl aus, nachdem Sie eine Änderung an der Konfigurationsdatei des Administratorclusters vorgenommen haben.gkectl update cluster
: Führen Sie diesen Befehl aus, nachdem Sie eine Änderung an der Konfigurationsdatei des Nutzerclusters vorgenommen haben.
Beispiel für Administratorcluster (gkectl update admin
)
Angenommen, Sie möchten den Wert von gkeOnPremAPI.enabled
in einem Administratorcluster von false
in true
ändern. Bearbeiten Sie zuerst die Konfigurationsdatei des Administratorclusters und legen Sie den Wert auf true
fest:
gkeOnPremAPI: enabled: true
Aktualisieren Sie dann den Administratorcluster:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config ADMIN_CLUSTER_CONFIG
Ersetzen Sie Folgendes:
ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters
ADMIN_CLUSTER_CONFIG: der Pfad Ihrer Administratorcluster-Konfigurationsdatei.
Beispiel für Nutzercluster (gkectl update cluster
)
Angenommen, Sie möchten den Wert von stackdriver.vSphereDisableResourceMetrics
in einem Nutzercluster von false
in true
ändern. Bearbeiten Sie zuerst die Konfigurationsdatei des Nutzerclusters und legen Sie den Wert auf true
fest:
stackdriver: disableVsphereResourceMetrics: true
Aktualisieren Sie dann den Nutzercluster:
gkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG
Ersetzen Sie Folgendes:
ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters
USER_CLUSTER_CONFIG: der Pfad Ihrer Nutzerclusterkonfigurationsdatei.
Beispiel für Nutzercluster (gkectl update credentials
)
Angenommen, Sie möchten die Anmeldedaten ändern, die ein Nutzercluster zum Aufrufen von vCenter Server verwendet.
Die Konfigurationsdatei des Nutzerclusters enthält das Feld vCenter.credentials.fileRef.path, das auf eine Konfigurationsdatei für Anmeldedaten verweist.
Aktualisieren Sie in der Konfigurationsdatei für Anmeldedaten die Werte username
und password
. Beispiel:
items: - name: "vcenter-creds" username: "new-vcenter-account" password: "U$icUKEW#INE"
Aktualisieren Sie dann die Anmeldedaten:
gkectl update credentials vsphere \ --config USER_CLUSTER_CONFIG \ --kubeconfig ADMIN_CLUSTER_KUBECONFIG
Ersetzen Sie Folgendes:
USER_CLUSTER_CONFIG: Pfad der Konfigurationsdatei des Nutzerclusters
ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters
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 aktualisieren möchten.
Klicken Sie im Bereich Details auf Mehr Details.
Felder, die in der Google Cloud Console aktualisiert werden können, sind mit einem Stiftsymbol versehen. Klicken Sie auf eines der Bleistiftsymbole. Ändern Sie im daraufhin angezeigten Feld die Feldwerte wie gewünscht und klicken Sie auf FERTIG.
Klicken Sie oben auf der Seite in der Fortschrittsanzeige auf Details anzeigen. Warten Sie, bis die Aktualisierung abgeschlossen ist.
gcloud-CLI
Führen Sie den entsprechenden Aktualisierungsbefehl aus. Geben Sie nur die Flags für die Konfiguration an, die Sie ändern möchten:
Administratorcluster:
gcloud container vmware admin-clusters update
Nutzercluster:
gcloud container vmware clusters update
Knotenpools in einem Nutzercluster:
gcloud container vmware node-pools update
Administratornutzer in einem Nutzercluster aktualisieren
Der Kubernetes API-Server eines jeden Clusters muss in der Lage sein, empfangene Anfragen zu autorisieren. Zum Konfigurieren der Autorisierung müssen Sie auf jedem Cluster Richtlinien für die rollenbasierte Zugriffssteuerung (Role-based Access Control, RBAC) von Kubernetes konfigurieren. Ein Administrator ist ein Nutzer, dem die Rolle cluster-admin
im Nutzercluster gewährt wurde. Diese Rolle gewährt dem Nutzer vollständigen Administratorzugriff auf den Cluster.
Angenommen, Alice und Bob sind die einzigen Administratoren im Nutzercluster „cluster-1“ in der Region „us-west1“. Angenommen, Alice möchte Trent als zusätzlichen Administrator hinzufügen. Alice könnte den folgenden Befehl ausführen:
gcloud container vmware clusters update cluster-1 \ --project example-project-id-12345 \ --location us-west1 \ --admin-users alice@example.com \ --admin-users bob@example.com \ --admin-users trent@example.com
Der vorherige Befehl behält Alice und Bob in der Liste der Administratoren und fügt Trent der Liste der Administratoren hinzu. Beachten Sie, dass Alice und Bob im Befehl aufgeführt sein müssen, da der Befehl die aktuelle Liste der Administratornutzer mit der im Befehl angegebenen Liste überschreibt. Außerdem gibt jedes --admin-users
-Flag nur einen Nutzer an. Es ist nicht möglich, mehrere Nutzer in einem einzelnen Flag anzugeben.
Terraform
Ändern Sie die Werte der entsprechenden Felder in der Terraform-Konfigurationsdatei, mit der Sie den Cluster oder Knotenpool erstellt haben. Detaillierte Feldbeschreibungen finden Sie in der Terraform-Referenzdokumentation:
Aktualisieren Sie die Konfiguration mit dem Befehl
terraform apply
.
Administratornutzer in einem Nutzercluster aktualisieren
Der Kubernetes API-Server eines jeden Clusters muss in der Lage sein, empfangene Anfragen zu autorisieren. Zum Konfigurieren der Autorisierung müssen Sie auf jedem Cluster Richtlinien für die rollenbasierte Zugriffssteuerung (Role-based Access Control, RBAC) von Kubernetes konfigurieren. Ein Administrator ist ein Nutzer, dem die Rolle cluster-admin
im Nutzercluster gewährt wurde. Diese Rolle gewährt dem Nutzer vollständigen Administratorzugriff auf den Cluster.
Angenommen, Alice und Bob sind die einzigen Administratoren in einem bestimmten Nutzercluster. Angenommen, Alice möchte Trent als zusätzlichen Administrator hinzufügen. Alice könnte die Terraform-Konfiguration so anpassen und dann terraform apply
ausführen:
authorization { admin_users { username = "alice@example.com" username = "bob@example.com" username = "trent@example.com" } }
Durch die vorherige Anpassung bleiben Alice und Bob in der Liste der Administratoren und Trent wird der Liste der Administratoren hinzugefügt. Beachten Sie, dass Alice und Bob in der neuen Konfiguration aufgelistet sein müssen, da der Befehl terraform apply
die aktuelle Liste der Administratoren mit der in der Konfiguration angegebenen Liste überschreibt.
Weitere Informationen
Die in diesem Abschnitt aufgeführten Dokumente enthalten weitere Informationen zum Aktualisieren von Clustern.
Cluster/Administrator aktualisieren
Die folgenden Dokumente enthalten Details zur Verwendung von gkectl update admin
und gkectl update cluster
zum Aktualisieren von Features und Einstellungen:
Anmeldedaten aktualisieren
Die folgenden Dokumente enthalten Details zur Verwendung von gkectl update credentials
zum Aktualisieren von Schlüsseln und Zertifikaten: