Einen Cluster aktualisieren
Diese Anleitung erklärt, wie Sie die Kubernetes-Version eines Hikube-Clusters über die Konsole aktualisieren. Die Updates erfolgen per Rolling Update.
Voraussetzungen
- Ein bereitgestellter Hikube-Kubernetes-Cluster (siehe Schnellstart)
- Die über die Konsole heruntergeladene kubeconfig des Clusters (Schaltfläche Kubeconfig, Projektadministratoren vorbehalten), um das Ergebnis zu prüfen
Schritte
1. Die aktuelle Version prüfen
Unter Infrastructure > Kubernetes zeigt die Spalte Version der Liste die Version jedes Clusters an. Die Detailseite zeigt sie außerdem im Abschnitt General (Version) an.
Im Cluster sehen Sie die Version der Nodes mit:
export KUBECONFIG=~/Downloads/kubeconfig-<cluster-name>.yaml
kubectl get nodes
2. Das Update vorbereiten
Testen Sie das Update immer auf einem Testcluster, bevor Sie es in der Produktion durchführen. Einige Anwendungen sind möglicherweise nicht mit einer neuen Kubernetes-Version kompatibel (veraltete und später entfernte APIs).
Führen Sie Updates inkrementell durch (zum Beispiel von v1.29 auf v1.30). Überspringen Sie nicht mehrere Minor-Versionen auf einmal.
3. Die Version ändern
- Öffnen Sie das Menü Actions des Clusters und wählen Sie Edit (oder klicken Sie auf der Detailseite auf Edit).
- Öffnen Sie im Abschnitt General information die Liste Kubernetes Version und wählen Sie die Zielversion. Die Liste enthält nur die von der Plattform angebotenen Versionen.
- Klicken Sie auf Save. Die Konsole zeigt „Cluster updated“ an und kehrt zur Detailseite zurück.
Wenn die aktuelle Version des Clusters von der Plattform nicht mehr angeboten wird, weist die Konsole darauf hin („current version“) und fordert Sie auf, eine unterstützte Version auszuwählen.
Einmal angewendet, ist ein Versionsupdate endgültig. Eine Rückkehr zu einer niedrigeren Version wird abgelehnt: Die Konsole zeigt einen Fehler an (version downgrades are not supported, Code 70206), und der Cluster bleibt auf seiner aktuellen Version.
Kann die Plattform das Update nicht anwenden, wechselt der Cluster in der Liste in den Status Error. Er kann mit seiner vorherigen Konfiguration weiterlaufen, und eine Rückkehr zur laufenden Version bleibt möglich. Wenden Sie sich an den Support und geben Sie den Namen des Clusters und das Projekt an.
4. Das Rolling Update verfolgen
Die Nodes werden schrittweise ersetzt. Verfolgen Sie den Austausch im Cluster:
kubectl get nodes -w
Während eines Rolling Updates werden die Nodes einzeln ersetzt: Ihre Workloads laufen weiter, wenn sie mehrere Replicas haben. Definieren Sie PodDisruptionBudget für Ihre kritischen Anwendungen.
Überprüfung
Bestätigen Sie nach Abschluss des Austauschs die neue Version:
# Nodes im Zustand Ready mit der neuen Version
kubectl get nodes
# Version des API-Servers
kubectl version
# Ihre Workloads laufen
kubectl get pods -A
Erwartetes Ergebnis:
NAME STATUS ROLES AGE VERSION
my-cluster-general-xxxxx Ready <none> 5m v1.30.x
my-cluster-general-yyyyy Ready <none> 3m v1.30.x
Wenn Pods nach dem Update fehlerhaft bleiben, prüfen Sie die Kompatibilität Ihrer Manifeste mit der neuen Kubernetes-Version. Einige veraltete APIs wurden möglicherweise entfernt.
Weiterführende Informationen
- Konzepte: Architektur der Control Plane
- Zugriff und Werkzeuge: Diagnosebefehle im Cluster