vSphere with Tanzu unterstützt parallele Updates für Supervisoren und Tanzu Kubernetes Grid-Cluster sowie für die Infrastruktur, die diese Cluster unterstützt.
Vorgehensweise zum Update von Supervisoren- und Tanzu Kubernetes Grid-Clustern
vSphere with Tanzu verwendet ein Modell für parallele Updates für Supervisoren- und Tanzu Kubernetes Grid-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-Namespaces sowie benutzerdefinierte Ressourcen.
Abhängigkeit zwischen Supervisor-Updates und Tanzu Kubernetes Grid-Cluster-Updates
Sie aktualisieren den Supervisor und die Tanzu Kubernetes Grid-Cluster separat. Beachten Sie jedoch, dass es Abhängigkeiten zwischen den beiden gibt.
Das Aktualisieren eines Supervisor kann ein paralleles Update der dort bereitgestellten Tanzu Kubernetes Grid-Cluster auslösen. Weitere Informationen finden Sie unter Aktualisieren des Supervisors durch Ausführen eines vSphere-Namespaces-Updates.
Möglicherweise müssen Sie einen oder mehrere Tanzu Kubernetes Grid-Cluster aktualisieren, bevor Sie einen Supervisor aktualisieren, wenn der Tanzu Kubernetes Grid-Cluster nicht mit der Supervisor-Zielversion kompatibel ist. Weitere Informationen finden Sie unter Überprüfen der Tanzu Kubernetes Grid-Clusterkompatibilität für das Supervisor-Upgrade.
Informationen zu Supervisor-Updates
Wenn Sie ein Update für einen Supervisor initiieren, erstellt das System eine neue Steuerungsebenen-VM und fügt diese der vorhandenen Supervisor-Steuerungsebene hinzu. Während dieser Phase des Updates zeigt die vSphere-Bestandsliste vier Steuerungsebenen-VMs an, wenn das System eine neue aktualisierte VM hinzufügt und dann die veraltete VM entfernt. Die Objekte werden von einer der alten Steuerungsebenen-VMs zur neuen verschoben, und die alte Steuerungsebenen-VM wird entfernt. Dieser Vorgang wird für jede Steuerungsebenen-VM einzeln wiederholt, bis alle aktualisiert sind. Sobald alle Steuerungsebenen-VMs aktualisiert wurden, 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.
- Update der vSphere-Namespaces.
- Aktualisieren Sie alles, einschließlich VMware- und Kubernetes-Versionen.
Aktualisieren von vSphere-Namespaces
- Upgrade von vCenter Server.
- 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 Supervisors durch Ausführen eines vSphere-Namespaces-Updates.
Aktualisieren aller vSphere with Tanzu-Komponenten
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, z. B. von NSX-T 3.x auf 4 und von vSphere 7.x auf 8.
- Überprüfen Sie die VMware-Interoperabilitätsmatrix unter https://interopmatrix.vmware.com/Interoperability für den vCenter Server und NSX, 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.
- Führen Sie das Upgrade von NSX durch (falls kompatibel).
- Upgrade von vCenter Server.
- Führen Sie das Upgrade von vSphere Distributed Switch durch.
- Führen Sie das Upgrade der ESXi-Hosts durch.
- Überprüfen Sie die Kompatibilität aller bereitgestellten Tanzu Kubernetes Grid-Cluster mit der Supervisor-Zielversion.
- Führen Sie das Upgrade von vSphere-Namespaces (einschließlich der Kubernetes-Version von Supervisor) durch.
- Führen Sie ein Upgrade der Tanzu Kubernetes Grid-Cluster durch.
Informationen zu Tanzu Kubernetes Grid-Cluster-Updates
Wenn Sie einen Supervisor aktualisieren, werden die Infrastrukturkomponenten, die die auf diesem Supervisor bereitgestellten Tanzu Kubernetes Grid-Cluster unterstützen, z. B. Tanzu Kubernetes Grid 2.0, ebenfalls aktualisiert. Jedes Infrastruktur-Update kann Updates für Dienste, die Tanzu Kubernetes Grid 2.0 (CNI, CSI, CPI) unterstützen, und aktualisierte Konfigurationseinstellungen für die Steuerungsebenen-VMs und Worker-Knoten, die auf vorhandene Tanzu Kubernetes Grid-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-Clusters durchführen möchten, aktualisieren Sie das Cluster-Manifest. Weitere Informationen finden Sie unter Aktualisierung von TKG 2-Clustern auf Supervisor. Beachten Sie jedoch Folgendes: Wenn ein vSphere-Namespaces-Update durchgeführt wird, gibt das System die aktualisierten Konfigurationen sofort an alle Tanzu Kubernetes Grid-Cluster weiter. Diese Updates können automatisch ein paralleles Update der Tanzu Kubernetes Grid-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-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-Clusters in „wird aktualisiert“. Nach Abschluss des parallelen Updates ändert sich der Status des Tanzu Kubernetes Grid-Clusters in „wird ausgeführt“.
Auf einem Tanzu Kubernetes Grid-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-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).