Upgrade von Clustern auf neuere Kubernetes-Versionen
Erfahren Sie mehr über die verschiedenen Möglichkeiten zum Upgrade von Control-Plane-Knoten und Worker-Knoten auf neuere Kubernetes-Versionen mit der Kubernetes Engine (OKE).
Nach der Veröffentlichung einer neuen Version von Kubernetes und wenn Kubernetes Engine die neue Version unterstützt, können Sie die Kubernetes-Version upgraden, die auf Control-Plane-Knoten und Worker-Knoten in einem Cluster ausgeführt wird.
Die Control-Plane-Knoten und Worker-Knoten, aus denen das Cluster besteht, können verschiedene Versionen von Kubernetes ausführen, sofern Sie die in der Kubernetes-Dokumentation beschriebene Policy zu unterstützten Kubernetes-Versionen und Versionsabweichungen befolgen.
Das Upgrade von Control-Plane-Knoten und Worker-Knoten erfolgt auf unterschiedliche Weise:
-
Upgrade von Control-Plane-Knoten: Sie aktualisieren Control-Plane-Knoten, indem Sie das Cluster aktualisieren und eine neuere Kubernetes-Version für das Cluster angeben. Control-Plane-Knoten, auf denen ältere Versionen von Kubernetes ausgeführt werden, werden upgegradet. Da Kubernetes Engine die Kubernetes Control Plane auf mehrere von Oracle verwaltete Control-Plane-Knoten verteilt, um High Availability sicherzustellen (auf verschiedene Availability-Domains in einer Region, sofern unterstützt), können Sie die auf Control-Plane-Knoten ausgeführte Kubernetes-Version ohne Ausfallzeiten aktualisieren.
Nachdem Sie ein Upgrade von Control-Plane-Knoten auf eine neue Version von Kubernetes durchgeführt haben, können Sie neue Knotenpools mit Worker-Knoten erstellen, auf denen die neuere Version ausgeführt wird. Alternativ können Sie weiterhin neue Knotenpools mit Worker-Knoten erstellen, auf denen ältere Versionen von Kubernetes ausgeführt werden (vorausgesetzt, diese älteren Versionen sind mit der Kubernetes-Version kompatibel, die auf den Control-Plane-Knoten ausgeführt wird).
Weitere Informationen zum Upgraden von Control-Plane-Knoten finden Sie unter Kubernetes-Version auf Control-Plane-Knoten in einem Cluster upgraden.
- Worker-Knotenupgrade: Das Upgrade von verwalteten Knoten, selbstverwalteten Knoten und virtuellen Knoten erfolgt auf unterschiedliche Weise:
- Upgrade eines verwalteten Knotens: Das Upgrade von Worker-Knoten kann auf eine der folgenden Arten erfolgen:
- Wenn Sie ein "In-place"-Upgrade eines Knotenpools im Cluster ausführen, eine neuere Kubernetes-Version für den vorhandenen Knotenpool angeben und dann die Knoten neu starten, um automatisch alle vorhandenen Worker-Knoten zu ersetzen.
- Wenn Sie ein "In-place"-Upgrade eines Knotenpools im Cluster ausführen, eine neuere Kubernetes-Version für den vorhandenen Knotenpool angeben und dann jeden vorhandenen Worker-Knoten manuell durch einen neuen Worker-Knoten ersetzen.
- Wenn Sie ein "Out-of-Place"-Upgrade eines Knotenpools im Cluster durchführen, ersetzen Sie den ursprünglichen Knotenpool durch den neuen Knotenpool, für den Sie eine neuere Kubernetes-Version angegeben haben.
Weitere Informationen zum Upgrade verwalteter Knoten finden Sie unter Verwaltete Knoten auf eine neuere Kubernetes-Version upgraden.
- Upgrade von selbstverwalteten Knoten: Sie führen ein Upgrade von selbstverwalteten Knoten durch, indem Sie einen vorhandenen selbstverwalteten Knoten durch einen neuen selbstverwalteten Knoten ersetzen, der auf einer neuen Compute-Instanz gehostet wird. Weitere Informationen zum Upgrade selbst verwalteter Knoten finden Sie unter Upgrade von selbst verwalteten Knoten auf eine neuere Kubernetes-Version durch Ersetzen eines vorhandenen selbstverwalteten Knotens durchführen.
- Upgrade virtueller Knoten: Sie upgraden virtuelle Knoten, indem Sie die Control-Plane-Knoten in einem Cluster upgraden. Wenn Sie die auf Control-Plane-Knoten ausgeführte Kubernetes-Version upgraden, werden die virtuellen Knoten in jedem virtuellen Knotenpool im Cluster auch automatisch auf diese Kubernetes-Version upgegradet. Weitere Informationen zum Upgrade virtueller Knoten finden Sie unter Virtuelle Knoten auf eine neuere Kubernetes-Version upgraden.
- Upgrade eines verwalteten Knotens: Das Upgrade von Worker-Knoten kann auf eine der folgenden Arten erfolgen:
Weitere Informationen zu den derzeit und vormals von Kubernetes Engine unterstützten Kubernetes-Versionen finden Sie unter Unterstützte Versionen von Kubernetes.
Hinweise zum Upgrade von Clustern
Beachten Sie Folgendes beim Upgrade von Clustern:
- Kubernetes Engine aktualisiert die auf Control-Plane-Knoten ausgeführte Kubernetes-Version nur, wenn Sie das Upgrade explizit initiieren.
- Nach dem Upgrade der Control-Plane-Knoten auf eine neuere Version von Kubernetes können Sie kein Downgrade der Control-Plane-Knoten auf eine frühere Kubernetes-Version ausführen.
- Bevor Sie die Version von Kubernetes auf den Control-Plane-Knoten upgraden, müssen Sie testen, ob die auf dem Cluster bereitgestellten Anwendungen mit der neuen Kubernetes-Version kompatibel sind. Beispiel: Vor dem Upgrade des vorhandenen Clusters können Sie ein neues separates Cluster mit der neuen Kubernetes-Version erstellen, um Ihre Anwendungen zu testen.
- Die auf den Control-Plane-Knoten und den Worker-Knoten ausgeführten Kubernetes-Versionen müssen kompatibel sein. Das heißt, die Kubernetes-Version auf den Control-Plane-Knoten darf der Kubernetes-Version auf den Worker-Knoten maximal zwei Nebenversionen (oder drei Nebenversionen, beginnend mit Kubernetes-Version 1.28) voraus sein. Weitere Informationen finden Sie in der Policy zu unterstützten Kubernetes-Versionen und Versionsabweichungen, die in der Kubernetes-Dokumentation beschrieben ist.
- Wenn die aktuell auf den Control-Plane-Knoten ausgeführte Version von Kubernetes um mehr als eine Version älter ist als die aktuell unterstützte Version, können Sie Versionen für das Upgrade auswählen. Wenn Sie ein Upgrade auf eine Version von Kubernetes durchführen möchten, die der aktuell auf den Control-Plane-Knoten ausgeführten Version um mehr als eine Version voraus ist, müssen Sie nacheinander auf jede Zwischenversion upgraden, ohne Versionen zu überspringen (wie in der Kubernetes-Dokumentation beschrieben).
-
Um Control-Plane-Knoten erfolgreich in einem Cluster upzugraden, muss der Kubernetes-Dashboard-Service den Typ "ClusterIP" aufweisen. Wenn der Kubernetes-Dashboard-Service nicht den Typ "ClusterIP" hat (z.B. wenn der Service den Typ "NodePort" hat), verläuft das Upgrade nicht erfolgreich. Ändern Sie in diesem Fall den Typ des Kubernetes-Dashboard-Service zurück in "ClusterIP" (z.B. indem Sie
kubectl -n kube-system edit service kubernetes-dashboard
eingeben und den Typ ändern). - Vor Kubernetes-Version 1.14 hat die Kubernetes-Engine Cluster mit kube-dns als DNS-Server erstellt. Kubernetes Engine erstellt jedoch ab Kubernetes-Version 1.14 Cluster mit CoreDNS als DNS-Server. Wenn Sie ein von der Kubernetes-Engine erstelltes Cluster von einer früheren Version auf Kubernetes 1.14 oder höher aktualisieren, wird der kube-dns-Server des Clusters automatisch durch den CoreDNS-Server ersetzt. Beachten Sie, dass diese Anpassungen nicht an das CoreDNS-ConfigMap-Objekt übertragen werden, wenn Sie das kube-dns-Verhalten mit dem ursprünglichen kube-dns-ConfigMap-Objekt angepasst haben. Sie müssen ein neues ConfigMap-Objekt erstellen und anwenden, das die Anpassungen enthält, um die Einstellungen in der CoreDNS-Coredatei außer Kraft zu setzen. Weitere Informationen zum Upgrade auf CoreDNS finden Sie unter DNS-Server für Kubernetes-Cluster konfigurieren.