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

Vorgehensweise zum Update von Supervisor-Cluster- und Tanzu Kubernetes Grid-Dienst-Clustern

vSphere with Tanzu verwendet ein Modell für parallele Updates für Supervisor-Cluster- und Tanzu Kubernetes Grid-Dienst-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 Grid-Dienst-Cluster-Updates

Sie aktualisieren den Supervisor-Cluster und die Tanzu Kubernetes Grid-Dienst-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 Grid-Dienst-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 Grid-Dienst-Cluster aktualisieren, bevor Sie einen Supervisor-Cluster aktualisieren, wenn der Tanzu Kubernetes Grid-Dienst-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:
  • Update der vSphere-Namespaces.
  • Aktualisieren Sie alles, einschließlich VMware- und Kubernetes-Versionen.
Sie verwenden den Aktualisierungsworkflow für vSphere-Namespaces, um die auf dem Supervisor-Cluster ausgeführte Kubernetes-Version, z. B. von Version 1.16.7 auf Version 1.17.4, sowie die Infrastruktur, die die Supervisor-Cluster- und Tanzu Kubernetes Grid-Dienst-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 Update-Reihenfolge für vSphere-Namespaces:
  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 von Update ist erforderlich, wenn Sie Hauptversionen aktualisieren, wie z. B. von NSX-T 3.x auf 4 und von vSphere 7.x auf 8. Ein solcher Aktualisierungsworkflow muss nur selten durchgeführt werden und richtet sich nach dem Vorhandensein neuer VMware-Produktversionen. Nachstehend finden Sie die Reihenfolge für das Update von allem:
  1. Überprüfen Sie die VMware-Interoperabilitätsmatrix unter https://interopmatrix.vmware.com/Interoperability für den vCenter Server und NSX-T Data Center, um die Kompatibilität zu ermitteln. vSphere with Tanzu wird von der WCP-Software (Workload Control Plane) bereitgestellt, die sich im Lieferumfang von vCenter Server befindet.
  2. Führen Sie das Upgrade von NSX-T Data Center durch (falls kompatibel).
  3. Upgrade von vCenter Server.
  4. Führen Sie das Upgrade von vSphere Distributed Switch durch.
  5. Führen Sie das Upgrade der ESXi-Hosts durch.
  6. Überprüfen Sie die Kompatibilität aller bereitgestellten Tanzu Kubernetes Grid-Dienst-Cluster mit der Supervisor-Cluster-Zielversion.
  7. Führen Sie das Upgrade von vSphere-Namespaces (einschließlich der Kubernetes-Version von Supervisor-Cluster) durch.
  8. Führen Sie ein Upgrade der Tanzu Kubernetes Grid-Dienst-Cluster durch.
Das Diagramm veranschaulicht den allgemeinen Workflow für vSphere with Tanzu-Upgrades. Das Diagramm zeigt die Schritte für vSphere with Tanzu-Updates.

Informationen zu Tanzu Kubernetes Grid-Dienst-Cluster-Updates

Wenn Sie einen Supervisor-Cluster aktualisieren, werden die Infrastrukturkomponenten, die die auf diesem Supervisor-Cluster bereitgestellten Tanzu Kubernetes Grid-Dienst-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 Grid-Dienst-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 Grid-Dienst-Clusters durchführen möchten, aktualisieren Sie das Cluster-Manifest. Siehe Update von Tanzu Kubernetes-Clustern. Beachten Sie jedoch Folgendes: Wenn ein vSphere-Namespaces-Update durchgeführt wird, gibt das System die aktualisierten Konfigurationen sofort an alle Tanzu Kubernetes Grid-Dienst-Cluster weiter. Diese Updates können automatisch ein paralleles Update der Tanzu Kubernetes Grid-Dienst-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 Grid-Dienst-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 Grid-Dienst-Clusters in „wird aktualisiert“. Nach Abschluss des parallelen Updates ändert sich der Status des Tanzu Kubernetes Grid-Dienst-Clusters in „wird ausgeführt“.

Auf einem Tanzu Kubernetes Grid-Dienst-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 Grid-Dienst-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).