vSphere with Tanzu unterstützt parallele Updates für Supervisor-Cluster und Tanzu Kubernetes-Cluster sowie für die Infrastruktur, die diese Cluster unterstützt.

Vorgehensweise zum Update von vSphere with Tanzu-Clustern

vSphere with Tanzu verwendet ein Modell für parallele Updates für Supervisor-Cluster- und Tanzu Kubernetes-Cluster. Das Modell für parallele Updates stellt sicher, dass während des Updatevorgangs minimale Ausfallzeiten für Clusterarbeitslasten auftreten. Parallele Updates umfassen Upgrades der Kubernetes-Versionen sowie der Infrastruktur und der Dienste, die die Kubernetes-Cluster unterstützen, wie z. B. Konfigurationen und Ressourcen virtueller Maschinen, vSphere-Dienste und Namespaces sowie benutzerdefinierte Ressourcen.

Damit das Update erfolgreich verläuft, muss Ihre Konfiguration verschiedene Kompatibilitätsanforderungen erfüllen, sodass das System Bedingungen für die erneute Prüfung erzwingt, um sicherzustellen, dass die Cluster für das Updates bereit sind, und Rollback unterstützt, falls das Cluster-Upgrade nicht erfolgreich ist.
Hinweis: Ein vSphere with Tanzu-Update umfasst mehr als nur ein Upgrade der Softwareversion von Kubernetes. Der Begriff „Update“ wird statt des Begriffs „Upgrade“ zur Beschreibung dieses Vorgangs verwendet, da sich „Upgrade“ auf eine eingeschränkte Form des Updates bezieht, bei der die Softwareversion erhöht wird.

Abhängigkeit zwischen Supervisor-Cluster-Updates und Tanzu Kubernetes-Cluster-Updates

Sie aktualisieren den Supervisor-Cluster und die Tanzu Kubernetes-Cluster separat. Beachten Sie jedoch, dass es Abhängigkeiten zwischen den beiden gibt.

Das Aktualisieren eines Supervisor-Cluster kann ein paralleles Update der dort bereitgestellten Tanzu Kubernetes-Cluster auslösen. Weitere Informationen finden Sie unter Aktualisieren des Supervisor-Clusters durch Ausführen eines vSphere-Namespace-Updates.

Möglicherweise müssen Sie einen oder mehrere Tanzu Kubernetes-Cluster aktualisieren, bevor Sie einen Supervisor-Cluster aktualisieren, wenn der Tanzu Kubernetes-Cluster nicht mit der Supervisor-Cluster-Zielversion kompatibel ist. Weitere Informationen finden Sie unter Überprüfen der Tanzu Kubernetes-Cluster-Kompatibilität für ein Update.

Informationen zu Supervisor-Cluster-Updates

Wenn Sie ein Update für einen Supervisor-Cluster initiieren, erstellt das System einen neuen Steuerungsebenenknoten und fügt ihn der vorhandenen Steuerungsebene hinzu. Die vSphere-Bestandsliste zeigt in dieser Phase des Updates vier Steuerungsebenenknoten an, da das System einen neuen aktualisierten Knoten hinzufügt und dann den veralteten Knoten entfernt. Die Objekte werden von einem der alten Steuerungsebenenknoten zum neuen verschoben, und der alte Steuerungsebenenknoten wird entfernt. Dieser Vorgang wird für jeden Steuerungsebenenknoten einzeln wiederholt, bis alle aktualisiert sind. Sobald die Steuerungsebene aktualisiert wurde, werden die Worker-Knoten in ähnlicher Weise aktualisiert. Die Worker-Knoten sind die ESXi-Hosts, und jeder spherelet-Prozess wird auf jedem ESXi-Host einzeln aktualisiert.

Sie können zwischen den folgenden Updates wählen:
  • Aktualisieren Sie die Supervisor-Namespaces.
  • Aktualisieren Sie alles, einschließlich VMware- und Kubernetes-Versionen.
Sie verwenden den Update-Workflow für vSphere Namespaces, um die auf dem Supervisor-Cluster ausgeführte Kubernetes-Version zu aktualisieren, z. B. von Version 1.16.7 auf Version 1.17.4, und um die Infrastruktur, die die Kubernetes-Cluster unterstützt, zu aktualisieren. Diese Art des Updates wird häufiger durchgeführt und wird verwendet, um mit dem Intervall der Veröffentlichung neuer Versionen von Kubernetes Schritt zu halten. Nachstehend finden Sie die Reihenfolge für das vSphere Namespaces-Update:
  1. Upgrade von vCenter Server.
  2. Führen Sie ein vSphere-Namespaces-Update (einschließlich Kubernetes-Upgrade) durch.

Informationen zum Durchführen eines vSphere Namespaces-Updates finden Sie unter Aktualisieren des Supervisor-Clusters durch Ausführen eines vSphere-Namespace-Updates.

Sie verwenden den Workflow zum Update von allem, um alle vSphere with Tanzu-Komponenten zu aktualisieren. Diese Art des Updates ist erforderlich, wenn Sie Updates für Hauptversionen durchführen, z. B. von NSX-T 3.0 auf 3.x und von vSphere 7.0 auf 7.x. Dieser Update-Workflow wird seltener durchgeführt, je nachdem, wann neue VMware-Produktversionen vorhanden sind. Nachstehend finden Sie die Reihenfolge für das Update von allem:
  1. Führen Sie das Upgrade für NSX-T Data Center durch.
  2. Upgrade von vCenter Server.
  3. Führen Sie das Upgrade von vSphere Distributed Switch durch.
  4. Führen Sie das Upgrade der ESXi-Hosts durch.
  5. Aktualisieren vSphere-Namespaces (einschließlich Kubernetes-Upgrade).
  6. Aktualisieren Sie Tanzu Kubernetes.
Das Diagramm veranschaulicht den allgemeinen Workflow für vSphere with Tanzu-Upgrades.

Informationen zu Tanzu Kubernetes-Cluster-Updates

Wenn Sie einen Supervisor-Cluster aktualisieren, werden die Infrastrukturkomponenten, die die auf diesem Supervisor-Cluster bereitgestellten Tanzu Kubernetes-Cluster unterstützen, wie z. B. der Tanzu Kubernetes Grid-Dienst, ebenfalls aktualisiert. Jedes Infrastruktur-Update kann Updates für Dienste, die den Tanzu Kubernetes Grid-Dienst (CNI, CSI, CPI) unterstützen, und aktualisierte Konfigurationseinstellungen für die Steuerungsebenen- und Worker-Knoten, die auf vorhandene Tanzu Kubernetes-Cluster angewendet werden können, umfassen. Um sicherzustellen, dass Ihre Konfiguration die Kompatibilitätsanforderungen erfüllt, führt vSphere with Tanzu während des parallelen Updates Vorabprüfungen durch und erzwingt die Konformität.

Wenn Sie ein paralleles Update eines Tanzu Kubernetes-Clusters durchführen möchten, aktualisieren Sie in der Regel das Cluster-Manifest. Siehe Update von Tanzu Kubernetes-Clustern. Beachten Sie jedoch: Wenn ein vSphere Namespaces-Update durchgeführt wird, gibt das System die aktualisierten Konfigurationen sofort an alle Tanzu Kubernetes-Cluster weiter. Diese Updates können automatisch ein paralleles Update der Tanzu Kubernetes-Steuerungsebenen- und Worker-Knoten auslösen.

Der Vorgang des parallelen Updates zum Ersetzen der Clusterknoten ähnelt dem parallelen Update von Pods in einer Kubernetes-Bereitstellung. Es gibt zwei verschiedene Controller, die für das Durchführen eines parallelen Updates von Tanzu Kubernetes-Clustern verantwortlich sind: den Add-On-Controller und den TanzuKubernetesCluster-Controller. Innerhalb dieser beiden Controller gibt es drei wichtige Phasen für ein paralleles Update: das Aktualisieren von Add-Ons, das Aktualisieren der Steuerungsebene und das Aktualisieren der Worker-Knoten. Diese Phasen erfolgen in der genannten Reihenfolge mit Vorabprüfungen, die verhindern, dass ein Schritt gestartet wird, bevor der vorherige Schritt ausreichend fortgeschritten ist. Diese Schritte werden möglicherweise übersprungen, wenn sie als unnötig eingestuft wurden. Ein Update kann beispielsweise nur Worker-Knoten betreffen und daher keine Add-On- oder Steuerungsebenen-Updates erfordern.

Während des Updatevorgangs fügt das System einen neuen Clusterknoten hinzu und wartet darauf, dass der Knoten mit der Kubernetes-Zielversion in den Onlinemodus wechselt. Das System markiert dann den alten Knoten zum Löschen, wechselt zum nächsten Knoten und wiederholt den Vorgang. Der alte Knoten wird erst gelöscht, wenn alle Pods entfernt wurden. Wenn ein Pod beispielsweise mit PodDisruptionBudgets definiert ist, die verhindern, dass ein Knoten vollständig entleert wird, wird der Knoten isoliert, aber erst gelöscht, wenn diese Pods entfernt werden können. Das System aktualisiert zuerst alle Knoten der Steuerungsebene und dann die Worker-Knoten. Während eines Updates ändert sich der Status des Tanzu Kubernetes-Clusters in „wird aktualisiert“. Nach Abschluss des parallelen Updates ändert sich der Status des Tanzu Kubernetes-Clusters in „wird ausgeführt“.

Auf einem Tanzu Kubernetes-Cluster ausgeführte Pods, die nicht von einem Replizierungs-Controller gesteuert werden, werden während des Upgrades einer Kubernetes-Version, das im Rahmen der Entleerung des Worker-Knotens beim Update des Tanzu Kubernetes-Clusters stattfindet, gelöscht. Dies ist der Fall, wenn das Cluster-Update manuell oder automatisch durch ein vSphere Namespaces-Update ausgelöst wird. Zu den nicht durch einen Replizierungs-Controller gesteuerten Pods zählen Pods, die nicht als Teil einer Bereitstellungs- oder ReplicaSet-Spezifikation erstellt werden. Weitere Informationen finden Sie in der Kubernetes-Dokumentation im Thema Pod Lifecycle: Pod lifetime (Pod-Lebenszyklus: Pod-Lebensdauer).