Verwaltete Knoten auf eine frühere Kubernetes-Version zurücksetzen

Erfahren Sie, wie Sie die Kubernetes-Version, die auf verwalteten Knoten in einem vorhandenen Knotenpool ausgeführt wird, mit Kubernetes Engine (OKE) zurücksetzen.

Hinweis

Dieser Abschnitt gilt nur für verwaltete Knoten. Sie können verwaltete Knoten sowohl in erweiterten Clustern als auch in einfachen Clustern zurücksetzen.

Mit dieser Prozedur können Sie die Kubernetes-Version, die auf Control-Plane-Knoten oder virtuellen Knoten ausgeführt wird, nicht zurücksetzen.

Sie können die Version von Kubernetes, die auf verwalteten Knoten in einem Knotenpool ausgeführt wird, zurücksetzen, indem Sie eine frühere verfügbare Kubernetes-Version für den vorhandenen Knotenpool angeben und dann die vorhandenen verwalteten Knoten ersetzen.

Die angegebene Kubernetes-Version muss für den verwalteten Knotenpool verfügbar und mit der Version kompatibel sein, die auf den Control-Plane-Knoten ausgeführt wird. Die für einen verwalteten Knotenpool verfügbaren Kubernetes-Versionen können je nach Mandant variieren. Um die verfügbaren Versionen anzuzeigen, zeigen Sie die Liste Version an, wenn Sie den Knotenpool in der Konsole bearbeiten, den Befehl oci ce node-pool-options get verwenden oder den Vorgang GetNodePoolOptions verwenden.

Wichtig

Wenn Sie die für einen verwalteten Knotenpool konfigurierte Kubernetes-Version ändern, wird die Kubernetes-Version, die auf vorhandenen verwalteten Knoten ausgeführt wird, nicht geändert. Um das Rollback abzuschließen, ersetzen Sie die vorhandenen verwalteten Knoten.

Wenn Sie Knoten neu starten, starten Sie den gesamten verwalteten Knotenpool neu. Beim Neustart eines einzelnen verwalteten Knotens wird die Kubernetes-Version, die auf dem Knoten ausgeführt wird, nicht geändert.

Weitere Informationen zur Auswahl und Kompatibilität der Kubernetes-Version finden Sie unter Kubernetes-Versionen und Kubernetes Engine (OKE).

Konsole verwenden

So führen Sie ein Rollback verwalteter Knoten in einem erweiterten Cluster durch

In einem erweiterten Cluster können Sie verwaltete Knoten zurücksetzen, indem Sie eine frühere verfügbare Kubernetes-Version für den vorhandenen Knotenpool angeben und dann alle Knoten im Knotenpool neu starten. Sie können die Knoten neu starten, indem Sie ihre Boot-Volumes ersetzen oder indem Sie die Knoten beenden und ersetzen.

  1. Wählen Sie auf der Listenseite Cluster den Namen des Clusters aus, in dem Sie die Kubernetes-Version zurücksetzen möchten, die auf verwalteten Knoten ausgeführt wird. Wenn Sie Hilfe beim Suchen der Listenseite oder des Clusters benötigen, finden Sie weitere Informationen unter Cluster auflisten.
  2. Wählen Sie die Registerkarte Knotenpools aus, und wählen Sie den Namen des Knotenpools aus, in dem Sie die Kubernetes-Version zurücksetzen möchten, die auf den verwalteten Knoten ausgeführt wird.

  3. Wählen Sie auf der Seite "Knotenpooldetails" im Menü Aktionen die Option Bearbeiten aus.

  4. Wählen Sie im Feld Version des Dialogfelds Knotenpool bearbeiten die erforderliche frühere Kubernetes-Version für verwaltete Knoten aus.

    Die von Ihnen angegebene Kubernetes-Version muss mit der Version kompatibel sein, die auf den Control-Plane-Knoten ausgeführt wird.

    Beachten Sie, dass die Liste der Kubernetes-Versionen Vorschauversionen enthält, die nur zu Test- und Validierungszwecken für vorzeitigen Zugriff bereitgestellt werden. Diese Vorschauversionen haben ".0" als Patchversionsnummer (z.B. 1.34.0). Vorschauversionen sind nicht für Produktions-Workloads vorgesehen und können Probleme ohne bekannte Workarounds enthalten. Es wird nicht empfohlen, Vorschauversionen für Produktions-Workloads zu verwenden.

  5. Wählen Sie Aktualisieren, um die Änderung zu speichern.

    Jetzt starten Sie alle Knoten im Knotenpool neu, um die angegebene Kubernetes-Version anzuwenden.

  6. Wählen Sie im Menü Aktionen die Option Zyklusknoten.

    Empfohlen: Verwenden Sie gegebenenfalls die zulässige Höchstanzahl an Podunterbrechungen (Pod Disruption Budgets) für Ihre Anwendung, um sicherzustellen, dass während des gesamten Vorgangs eine ausreichende Anzahl von Replikatpodes ausgeführt wird. Weitere Informationen finden Sie unter Störungsbudget für Ihre Anwendung angeben in der Kubernetes-Dokumentation.

  7. Wählen Sie im Dialogfeld Zyklusknoten eine der folgenden Optionen aus der Liste Zyklusoptionen:

    • Boot-Volume ersetzen: Geben Sie die maximale Anzahl oder den Prozentsatz der Knoten an, die während des Vorgangs nicht verfügbar sein können, und wählen Sie Zyklusknoten aus.

    • Knoten ersetzen: Geben Sie die maximale Anzahl oder den Prozentsatz zusätzlicher Knoten und nicht verfügbarer Knoten an, die während des Vorgangs zulässig sind, und wählen Sie Zyklusknoten aus.

    Hinweis

    Starten Sie keinen einzelnen verwalteten Knoten neu, um das Rollback anzuwenden. Beim Neustart eines einzelnen verwalteten Knotens wird die Kubernetes-Version, die auf dem Knoten ausgeführt wird, nicht geändert.
  8. Überwachen Sie den Fortschritt des Vorgangs, indem Sie den Status der zugehörigen Arbeitsanforderung auf der Registerkarte Arbeitsanforderungen anzeigen (siehe Details einer Arbeitsanforderung abrufen).

So führen Sie ein Rollback verwalteter Knoten in einem einfachen Cluster durch

Knotenneustart ist in Basisclustern nicht verfügbar. Um verwaltete Knoten in einem Basiscluster zurückzusetzen, geben Sie die frühere Kubernetes-Version für den vorhandenen Knotenpool an, und löschen und ersetzen Sie dann jeden vorhandenen verwalteten Knoten manuell.

  1. Wählen Sie auf der Listenseite Cluster den Namen des Clusters aus, in dem Sie die Kubernetes-Version zurücksetzen möchten, die auf verwalteten Knoten ausgeführt wird. Wenn Sie Hilfe beim Suchen der Listenseite oder des Clusters benötigen, finden Sie weitere Informationen unter Cluster auflisten.
  2. Wählen Sie die Registerkarte Knotenpools aus, und wählen Sie den Namen des Knotenpools aus, in dem Sie die Kubernetes-Version zurücksetzen möchten, die auf den verwalteten Knoten ausgeführt wird.

  3. Wählen Sie auf der Seite "Knotenpooldetails" im Menü Aktionen die Option Bearbeiten aus.

  4. Wählen Sie im Feld Version des Dialogfelds Knotenpool bearbeiten die erforderliche frühere Kubernetes-Version für verwaltete Knoten aus.

    Die von Ihnen angegebene Kubernetes-Version muss mit der Version kompatibel sein, die auf den Control-Plane-Knoten ausgeführt wird.

    Beachten Sie, dass die Liste der Kubernetes-Versionen Vorschauversionen enthält, die nur zu Test- und Validierungszwecken für vorzeitigen Zugriff bereitgestellt werden. Diese Vorschauversionen haben ".0" als Patchversionsnummer (z.B. 1.34.0). Vorschauversionen sind nicht für Produktions-Workloads vorgesehen und können Probleme ohne bekannte Workarounds enthalten. Es wird nicht empfohlen, Vorschauversionen für Produktions-Workloads zu verwenden.

  5. Wählen Sie Aktualisieren, um die Änderung zu speichern.

    Sie müssen jetzt vorhandene verwaltete Knoten löschen, damit neue verwaltete Knoten gestartet werden und die angegebene Kubernetes-Version ausgeführt wird.

  6. Für den ersten verwalteten Knoten im Knotenpool:

    1. Wählen Sie auf der Seite mit den Knotenpooldetails die Registerkarte Knoten und dann Knoten löschen aus dem Menü Aktionen neben dem Knoten, den Sie löschen möchten.
    2. Geben Sie an, wann und wie der verwaltete Knoten kabelgebunden und entladen werden soll, bevor er beendet wird. Wählen Sie nicht Knotenpoolgröße verringern aus, sodass ein neuer verwalteter Knoten gestartet wird, anstatt den Knotenpool zu verkleinern.
    3. Wählen Sie Löschen aus, um den verwalteten Knoten zu löschen.

    Der verwaltete Knoten wird gelöscht, und ein neuer verwalteter Knoten wird gestartet. Dabei wird die angegebene Kubernetes-Version ausgeführt.

  7. Wiederholen Sie den vorherigen Schritt für jeden verbleibenden verwalteten Knoten im Knotenpool, bis auf allen verwalteten Knoten im Knotenpool die angegebene Kubernetes-Version ausgeführt wird.

Befehlszeilenschnittstelle (CLI) verwenden

Informationen zur Verwendung der CLI finden Sie unter Befehlszeilenschnittstelle (CLI). Eine vollständige Liste der Flags und Optionen, die für CLI-Befehle verfügbar sind, finden Sie in der Befehlszeilenreferenz.

So rufen Sie die für einen verwalteten Knotenpool verfügbaren Kubernetes-Versionen ab

Verwenden Sie den Befehl oci ce node-pool-options get --node-pool-option-id all, um die Kubernetes-Versionen abzurufen, die für den verwalteten Knotenpool verfügbar sind.

So setzen Sie verwaltete Knoten in einem erweiterten Cluster durch Ersetzen von Boot-Volumes zurück

Mit dem Befehl oci ce node-pool update können Sie eine frühere Kubernetes-Version für den Knotenpool angeben und alle Knoten neu starten, um ihre Boot-Volumes zu ersetzen.

oci ce node-pool update --node-pool-id <node-pool-ocid> --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"cycleModes\":[\"BOOT_VOLUME_REPLACE\"],\"maximumUnavailable\":<value>}" --kubernetes-version <k8s-version>

Überwachen Sie den Fortschritt des Vorgangs, indem Sie den Status der zugehörigen Arbeitsanforderung anzeigen:

oci ce work-request list --compartment-id <compartment-ocid> --resource-id <node-pool-ocid>
oci ce work-request get --work-request-id <work-request-ocid>

Zurücksetzen verwalteter Knoten in einem erweiterten Cluster durch Beenden und Ersetzen von Knoten

Mit dem Befehl oci ce node-pool update können Sie eine frühere Kubernetes-Version für den Knotenpool angeben und alle Knoten neu starten, um sie zu beenden und zu ersetzen. Geben Sie die OCID eines Images an, das der Kubernetes-Version entspricht.

oci ce node-pool update --node-pool-id <node-pool-ocid> --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"cycleModes\":[\"INSTANCE_REPLACE\"],\"maximumUnavailable\":<value>,\"maximumSurge\":<value>}" --kubernetes-version <k8s-version> --node-source-details "{\"imageId\":\"<image-ocid>\",\"sourceType\":\"IMAGE\"}"

Überwachen Sie den Fortschritt des Vorgangs, indem Sie den Status der zugehörigen Arbeitsanforderung anzeigen:

oci ce work-request list --compartment-id <compartment-ocid> --resource-id <node-pool-ocid>
oci ce work-request get --work-request-id <work-request-ocid>

So führen Sie ein Rollback verwalteter Knoten in einem Basiscluster durch manuelles Löschen und Ersetzen von Knoten durch

Geben Sie zuerst mit dem Befehl oci ce node-pool update die frühere Kubernetes-Version für den Knotenpool und die OCID des entsprechenden Images an:

oci ce node-pool update --node-pool-id <node-pool-ocid> --kubernetes-version <k8s-version> --node-image-id <image-ocid>

Löschen Sie dann wiederum jeden verwalteten Knoten im Knotenpool. Geben Sie an, dass Sie einen neuen verwalteten Knoten starten möchten, um den verwalteten Knoten zu ersetzen, den Sie gelöscht haben:

oci ce node-pool delete-node --node-pool-id <node-pool-ocid> --node-id <node-ocid> --is-decrement-size false

API verwenden

Informationen zur Verwendung der API und zu Signieranforderungen finden Sie unter REST-API-Dokumentation und Sicherheitszugangsdaten. Informationen zu SDKs finden Sie unter SDKs und die CLI.

Mit dem Vorgang GetNodePoolOptions können Sie die Kubernetes-Versionen abrufen, die für einen verwalteten Knotenpool verfügbar sind.

Mit dem Vorgang UpdateNodePool können Sie eine frühere Kubernetes-Version für den vorhandenen Knotenpool angeben. Bei einem erweiterten Cluster können Sie auch Knoten-Zyklusdetails in demselben Vorgang angeben, um Boot-Volumes zu ersetzen oder Knoten zu beenden und zu ersetzen.