Cluster aktualisieren

In diesem Dokument wird gezeigt, wie Sie einen Cluster aktualisieren, der keine Versionsänderung enthält.

Ein Clusterupdate ist eine Änderung der Clusterkonfiguration.

Ein Clusterupgrade ist ein Sonderfall eines Clusterupdates, das eine Änderung an der Version der Steuerungsebene oder einer Knotenpoolversion beinhaltet. Informationen zum Upgrade finden Sie unter Upgrade von Google Distributed Cloud durchführen.

Firewallregeln prüfen

Ab Version 1.29 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 achten Sie darauf, dass 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 auf dem 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 (Art) bereit, um vorübergehend die Kubernetes-Controller zu hosten, die zum Aktualisieren des Administratorclusters erforderlich sind. Dieser temporäre Cluster wird als Bootstrap-Cluster bezeichnet. Serverseitige Preflight-Prüfungen werden auf dem Bootstrap-Cluster ausgeführt, wenn Sie einen Administratorcluster aktualisieren.

Was kann aktualisiert werden?

Einige Clusterfunktionen und -einstellungen können aktualisiert werden, andere können nach dem Erstellen des Clusters jedoch nicht mehr aktualisiert werden. Informationen zu den Features, die aktualisiert werden können, finden Sie auf den Referenzseiten für die Konfigurationsdatei des Administratorclusters und die Konfigurationsdatei für den Nutzercluster. Felder, die aktualisiert werden können, sind als Veränderlich und Felder, die nicht aktualisiert werden können, als Unveränderlich gekennzeichnet.

Mit gkectl-Befehlen können Sie auch sehen, welche Features und Einstellungen aktualisiert werden können.

So sehen 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 finden Sie heraus, 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

Elemente einzeln aktualisieren

Aktualisieren Sie jeweils nur eine Funktion oder Einstellung. Angenommen, Sie möchten die Master-CPU und den Arbeitsspeicher aktualisieren und außerdem die automatische Reparatur deaktivieren.

Dann würden Sie zwei separate Updates durchführen: eine für die Master-CPU und den Master und eine weitere automatische Reparatur. Prüfen Sie, ob die erste Aktualisierung erfolgreich war, bevor Sie die zweite durchführen.

Updateverfahren

Mit gkectl, der Google Cloud Console oder der Google Cloud CLI können Sie Aktualisierungen an einem Nutzercluster vornehmen. Wenn Sie den Nutzercluster mit Terraform erstellt haben, können Sie ihn mithilfe von Terraform aktualisieren. In fast allen Fällen müssen Sie zum Aktualisieren von Administratorclustern gkectl verwenden.

Die folgenden Beispiele zeigen, wie Cluster aktualisiert werden.

gkectl

Der Befehl gkectl update hat eine der folgenden Formen:

Beispiel für Administratorcluster (gkectl update admin)

Angenommen, Sie möchten den Wert von gkeOnPremAPI.enabled in einem Administratorcluster von false zu 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 zu 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, mit denen ein Nutzercluster vCenter Server aufruft.

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 von 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: der Pfad der Konfigurationsdatei des Nutzerclusters

  • ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters

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, den Sie aktualisieren möchten.

  3. Klicken Sie im Steuerfeld Details auf Weitere Details.

  4. Felder, die in der Google Cloud Console aktualisiert werden können, sind mit einem Stiftsymbol gekennzeichnet. Klicken Sie auf eines der Stiftsymbole. Ändern Sie im angezeigten Feld die Feldwerte nach Bedarf und klicken Sie auf FERTIG.

  5. Klicken Sie oben auf der Seite in der Fortschrittsanzeige auf Details anzeigen. Warten Sie, bis das Update abgeschlossen ist.

gcloud-CLI

Führen Sie den entsprechenden Update-Befehl aus. Geben Sie nur die Flags für die Konfiguration an, die Sie ändern möchten:

Administratornutzer in einem Nutzercluster aktualisieren

Der Kubernetes API-Server jedes Clusters muss in der Lage sein, empfangene Anfragen zu autorisieren. Zum Konfigurieren der Autorisierung müssen Sie für jeden Cluster Richtlinien für die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) von Kubernetes konfigurieren. Ein Administrator ist ein Nutzer, dem im Nutzercluster die Rolle cluster-admin zugewiesen wurde. Diese Rolle gewährt dem Nutzer vollständigen Administratorzugriff auf den Cluster.

Angenommen, Alice und Bob sind die einzigen Administratornutzer 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

Mit dem vorherigen Befehl verbleiben Alice und Bob in der Liste der Administratornutzer und Trent wird zur Liste der Administratornutzer hinzugefügt. Beachten Sie, dass Alice und Bob im Befehl aufgeführt sein müssen, da der Befehl die aktuelle Liste der Administratoren mit der im Befehl angegebenen Liste überschreibt. Beachten Sie außerdem, dass jedes --admin-users-Flag nur einen Nutzer angibt. Sie können nicht mehrere Nutzer in einem einzelnen Flag angeben.

Terraform

  1. Ändern Sie die Werte der entsprechenden Felder in der Terraform-Konfigurationsdatei, mit der Sie den Cluster oder Knotenpool erstellt haben. Ausführliche Feldbeschreibungen finden Sie in der Terraform-Referenzdokumentation:

  2. Aktualisieren Sie die Konfiguration mit terraform apply.

Administratornutzer in einem Nutzercluster aktualisieren

Der Kubernetes API-Server jedes Clusters muss in der Lage sein, empfangene Anfragen zu autorisieren. Zum Konfigurieren der Autorisierung müssen Sie für jeden Cluster Richtlinien für die rollenbasierte Zugriffssteuerung (Role-Based Access Control, RBAC) von Kubernetes konfigurieren. Ein Administrator ist ein Nutzer, dem im Nutzercluster die Rolle cluster-admin zugewiesen wurde. Diese Rolle gewährt dem Nutzer vollständigen Administratorzugriff auf den Cluster.

Angenommen, Alice und Bob sind die einzigen Administratornutzer 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 Administratornutzer und Trent wird zur Liste der Administratornutzer hinzugefügt. Beachten Sie, dass Alice und Bob in der neuen Konfiguration aufgeführt 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 zusätzliche 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:

Nächste Schritte

Cluster upgraden