Cluster aktualisieren

In diesem Dokument wird beschrieben, wie Sie ein Clusterupdate ohne Versionsänderung durchführen.

Eine Aktualisierung eines Clusters ist eine Änderung an der Clusterkonfiguration.

Ein Cluster-Upgrade ist ein Sonderfall einer Clusteraktualisierung, bei der die Version der Steuerungsebene oder die Version eines Knotenpools geändert wird. Informationen zum Upgrade finden Sie unter Google Distributed Cloud upgraden.

Firewallregeln prüfen

In Version 1.29 und später sind serverseitige Preflight-Prüfungen standardmäßig aktiviert. Für serverseitige Preflight-Prüfungen sind zusätzliche Firewallregeln erforderlich. Suchen Sie in den Firewallregeln für Administratorcluster nach „Preflight-Prüfungen“ und achten Sie darauf, dass alle erforderlichen Firewallregeln konfiguriert sind.

Bei serverseitigen Preflight-Prüfungen werden die Preflight-Prüfungen bei der Aktualisierung eines Nutzerclusters mit gkectl auf dem Administratorcluster und nicht lokal auf der Administrator-Workstation ausgeführt. Serverseitige Preflight-Prüfungen werden auf dem Administratorcluster ausgeführt, wenn Sie einen Cluster mit der Google Cloud Console, der Google Cloud CLI oder Terraform aktualisieren.

Wenn Sie einen Administratorcluster aktualisieren, wird in Google Distributed Cloud ein Kubernetes in Docker-Cluster (Art) bereitgestellt, der vorübergehend die Kubernetes-Controller hostet, die zum Aktualisieren des Administratorclusters erforderlich sind. Dieser vorübergehende 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 jedoch nicht. Welche Funktionen aktualisiert werden können, erfahren Sie auf den Referenzseiten für die Konfigurationsdatei des Administratorclusters und die Konfigurationsdatei des Nutzerclusters. Felder, die aktualisiert werden können, sind als Mutable gekennzeichnet. Felder, die nicht aktualisiert werden können, sind als Immutable gekennzeichnet.

Mit gkectl-Befehlen können Sie auch sehen, welche Funktionen 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 sehen 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

Nur ein Element gleichzeitig aktualisieren

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

Anschließend würden Sie zwei separate Aktualisierungen vornehmen: eine für Master-CPU und -Arbeitsspeicher und eine weitere für die automatische Reparatur. Prüfen Sie, ob das erste Update erfolgreich war, bevor Sie das zweite Update durchführen.

Aktualisierungsvorgang

Sie können gkectl, die Google Cloud -Konsole oder die Google Cloud CLI verwenden, um einen Nutzercluster zu aktualisieren. Wenn Sie den Nutzercluster mit Terraform erstellt haben, können Sie ihn auch mit Terraform aktualisieren. In den meisten Fällen müssen Sie gkectl verwenden, um Administratorcluster zu aktualisieren.

Wenn Sie gkectl zum Aktualisieren eines Clusters verwenden, muss auf Ihrer Administratorarbeitsstation die erforderliche Version von gkectl installiert sein. In der Regel verwenden Sie dieselbe Version von gkectl wie die Version des Clusters, den Sie aktualisieren. Während des Updates werden die folgenden Versionsregeln erzwungen:

  • Die Nebenversion gkectl darf nicht niedriger als die Nebenversion des Clusters sein. Beispielsweise ist es nicht zulässig, einen Cluster der Version 1.30 mit gkectl Version 1.29 zu aktualisieren. Patchversionen spielen keine Rolle. Sie können beispielsweise gkectl-Version 1.29.0-gke.1456 verwenden, um einen Cluster mit einer höheren Patchversion wie 1.29.1000-gke.94 zu aktualisieren.

  • Die Nebenversion gkectl darf nicht mehr als zwei Nebenversionen höher als die Clusterversion sein. Wenn Sie beispielsweise einen Cluster der Version 1.28 aktualisieren, kann die gkectl-Version 1.29 oder 1.30 sein. Sie können jedoch nicht die gkectl-Version 1.31 verwenden, da sie drei Nebenversionen höher als die Clusterversion ist.

  • Wenn Sie ein Upgrade des Clusters auf einen erweiterten Cluster durchführen, muss die gkectl-Version mit der Clusterversion übereinstimmen.

Falls erforderlich, lesen Sie den Abschnitt gkectl herunterladen, um eine unterstützte Version von gkectl zu erhalten.

Die folgenden Beispiele zeigen, wie Sie Cluster aktualisieren.

gkectl

Der Befehl gkectl update hat eines der folgenden Formate:

Beispiel für einen 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 admin --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 einen 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 einen 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 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 Ihrer Nutzerclusterkonfigurationsdatei

  • ADMIN_CLUSTER_KUBECONFIG: der Pfad der kubeconfig-Datei des Administratorclusters

Console

  1. Rufen Sie in der Console die Seite Google Kubernetes Engine-Cluster – Übersicht 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 Bereich Details auf Weitere Details.

  4. Felder, die in der Google Cloud -Konsole aktualisiert werden können, sind mit einem Stiftsymbol gekennzeichnet. Klicken Sie auf eines der Stiftsymbole. Ändern Sie im Feld, das sich öffnet, 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 eingehende Anfragen autorisieren können. 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 Administratornutzer ist ein Nutzer, dem die Rolle cluster-admin im Nutzercluster zugewiesen wurde. Mit dieser Rolle erhält der 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 bleiben Alice und Bob in der Liste der Administratornutzer und Trent wird der Liste der Administratornutzer hinzugefügt. Beachten Sie, dass Alice und Bob im Befehl aufgeführt sein müssen, da mit dem Befehl die aktuelle Liste der Administratornutzer mit der im Befehl angegebenen Liste überschrieben wird. Beachten Sie außerdem, dass mit jedem --admin-users-Flag nur ein Nutzer angegeben wird. Sie können nicht mehrere Nutzer in einem einzelnen Flag angeben.

Terraform

  1. Ändern Sie die Werte der entsprechenden Felder in der Terraform-Konfigurationsdatei, die Sie zum Erstellen des Clusters oder Knotenpools verwendet haben. Ausführliche Feldbeschreibungen finden Sie in der Terraform-Referenzdokumentation:

  2. Aktualisieren Sie die Konfiguration mit dem Befehl terraform apply.

Administratornutzer in einem Nutzercluster aktualisieren

Der Kubernetes API-Server jedes Clusters muss eingehende Anfragen autorisieren können. 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 Administratornutzer ist ein Nutzer, dem die Rolle cluster-admin im Nutzercluster zugewiesen wurde. Mit dieser Rolle erhält der 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 der Liste der Administratornutzer hinzugefügt. Alice und Bob müssen in der neuen Konfiguration aufgeführt sein, da mit dem Befehl terraform apply die aktuelle Liste der Administratornutzer mit der in der Konfiguration angegebenen Liste überschrieben wird.

Weitere Informationen

Die in diesem Abschnitt aufgeführten Dokumente enthalten weitere Informationen zum Aktualisieren von Clustern.

Cluster/Administrator aktualisieren

In den folgenden Dokumenten finden Sie Details zur Verwendung von gkectl update admin und gkectl update cluster zum Aktualisieren von Funktionen und Einstellungen:

Anmeldedaten aktualisieren

In den folgenden Dokumenten finden Sie weitere Informationen zum Aktualisieren von Schlüsseln und Zertifikaten mit gkectl update credentials:

Nächste Schritte

Cluster aktualisieren