Mitarbeiterknoten kündigen und ersetzen

Erfahren Sie, wie Sie einen Worker-Knoten in einem Kubernetes-Cluster beenden und ersetzen, den Sie mit Kubernetes Engine (OKE) erstellt haben.

Hinweis

Sie können Knoten nur neu starten, um Worker-Knoten zu beenden und zu ersetzen, wenn Sie erweiterte Cluster verwenden. Siehe Mit erweiterten Clustern und einfachen Clustern Arbeiten.

Sie können Knoten neu starten, um Knoten sowohl mit Virtual-Machine-Ausprägungen als auch mit Bare-Metal-Ausprägungen zu beenden und zu ersetzen.

Sie können Knoten neu starten, um verwaltete Knoten zu beenden und zu ersetzen.

Manchmal ist das Beenden und Ersetzen von verwalteten Knoten die beste Möglichkeit, ein Problem mit den Compute-Instanzen zu beheben, auf denen die Knoten gehostet werden. Insbesondere, wenn ein Problem einfach gelöst werden kann, indem eine vorhandene Instanz beendet und durch eine neue Instanz mit denselben Eigenschaften ersetzt wird oder andere Eigenschaften aufweist, die von geänderten Knotenpooleigenschaften abgeleitet werden (z.B. ein geändertes Host-BS oder eine geänderte Compute-Ausprägung). Beispiel:

  • Um Konfigurationsabweichungen zu beheben, die möglicherweise seit dem ursprünglichen Start der Instanz aufgetreten sind.
  • Beheben von zugrunde liegenden Hardwarefehlern.

Mit Kubernetes Engine können Sie die Compute-Instanzen beenden und ersetzen, die verwaltete Knoten hosten:

  • Sie können den Knotenpool, der die verwalteten Knoten enthält, neu starten und die Option Knoten ersetzen auswählen, wie in diesem Abschnitt beschrieben.
  • Sie können bestimmte verwaltete Knoten neu starten und ersetzen, wie in diesem Abschnitt beschrieben.
  • Sie können einen bestimmten verwalteten Knoten löschen. Wenn Sie nicht angeben, dass die Knotenlöschung den Knotenpool horizontal skalieren soll, wird der gelöschte Knoten durch einen neuen Knoten ersetzt (siehe Worker-Knoten löschen).

Wenn Sie einen verwalteten Knoten neu starten, beenden und ersetzen, schnürt Kubernetes Engine den Worker-Knoten automatisch ab, bevor er beendet wird. Die Compute-Instanz, die den verwalteten Knoten hostet, wird beendet, und eine neue Instanz wird erstellt. Beachten Sie, dass die neue Instanz eine neue OCID und Netzwerkadresse aufweist.

Wenn Sie alle verwalteten Knoten in einem Knotenpool neu starten, um sie zu beenden und zu ersetzen, werden alle Aktualisierungen der Knotenpooleigenschaften auf alle Worker-Knoten im Knotenpool angewendet, wenn neue Instanzen den Status "Wird ausgeführt" aufweisen. Wenn Sie einen einzelnen verwalteten Knoten neu starten, um ihn zu beenden und zu ersetzen, werden alle Aktualisierungen der Knotenpooleigenschaften auf den Ersatzknoten angewendet.

Sie können die routinemäßige Wartung von Worker-Knoten nicht nur durchführen, sondern auch verwaltete Knoten beenden und ersetzen, wenn Sie:

Beachten Sie die folgenden Aspekte beim Neustart zum Beenden und Ersetzen von Worker-Knoten:

  • Sie können einen verwalteten Knotenpool auswählen, um alle darin enthaltenen verwalteten Knoten neu zu starten, zu beenden und zu ersetzen. Sie können auch einzelne verwaltete Knoten neu starten, beenden und ersetzen.
  • Sie können selbstverwaltete Knoten nicht neu starten, um sie zu beenden und zu ersetzen.

Ausgleich von Serviceverfügbarkeit und -kosten beim Beenden und Ersetzen verwalteter Knoten in Knotenpools

Wenn Sie alle verwalteten Knoten in einem Knotenpool neu starten, um sie zu beenden und zu ersetzen, verwendet Kubernetes Engine die für den Knotenpool angegebenen Cordon- und Drain-Einstellungen und befolgt zwei Strategien:

  • Neue (zusätzliche) Knoten erstellen und dann vorhandene Knoten entfernen: Kubernetes Engine fügt dem Knotenpool einen zusätzlichen Knoten (oder Knoten) mit aktualisierten Eigenschaften hinzu. Wenn der zusätzliche Knoten aktiv ist, schnürt Kubernetes Engine einen vorhandenen Knoten ab, entleert den Knoten und entfernt den Knoten aus dem Knotenpool. Diese Strategie behält die Serviceverfügbarkeit bei, kostet aber mehr.
  • Vorhandene Knoten entfernen und dann neue Knoten erstellen: Kubernetes Engine schnürt einen vorhandenen Knoten (oder Knoten) ab, um ihn nicht verfügbar zu machen, entleert den Knoten und entfernt den Knoten aus dem Knotenpool. Wenn der Knoten entfernt wurde, fügt Kubernetes Engine dem Knotenpool einen neuen Knoten hinzu, um den entfernten Knoten zu ersetzen. Diese Strategie kostet weniger, kann jedoch die Serviceverfügbarkeit beeinträchtigen.

Um das Verhalten der Kubernetes-Engine an Ihre eigenen Anforderungen an Serviceverfügbarkeit und -kosten anzupassen, kontrollieren und balancieren Sie die beiden Strategien, indem Sie Werte für maxSurge und maxUnavailable angeben. Weitere Informationen finden Sie unter Serviceverfügbarkeit und -kosten beim Neustart verwalteter Knoten in Knotenpools ausgleichen.

Schnüren und Entleeren beim Beenden und Ersetzen von Knoten

Wenn Sie einen Knotenpool auswählen und angeben, dass Sie seine Worker-Knoten beenden und ersetzen möchten, schnürt Kubernetes Engine die vorhandenen verwalteten Knoten automatisch ab, entfernt sie und beendet sie. Kubernetes Engine verwendet die Cordon and Drain-Optionen, die für den Knotenpool angegeben sind.

Wenn Sie einen einzelnen verwalteten Knoten auswählen und angeben, dass er beendet und ersetzt werden soll, können Sie Cordon- und Drain-Optionen angeben. Die Cordon und Drain-Optionen, die Sie für den verwalteten Knoten angeben, setzen die für den Knotenpool angegebenen Cordon und Drain-Optionen außer Kraft.

Weitere Informationen finden Sie unter Verwaltete Knoten vor dem Herunterfahren oder Beenden cordoning and draining

Mitarbeiterknoten kündigen und ersetzen

  • So beenden und ersetzen Sie alle Worker-Knoten in einem verwalteten Knotenpool:

    1. Wählen Sie auf der Listenseite Cluster den Namen des Clusters aus, das die Worker-Knoten enthält, die Sie beenden und ersetzen möchten. 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 und dann den Namen des Knotenpools aus, der die Worker-Knoten enthält, die Sie beenden und ersetzen möchten.
    3. Wählen Sie im Menü Aktionen die Option Bearbeiten aus, und ändern Sie eine nicht verwendete Eigenschaft des Knotenpools (z.B. indem Sie ein Kubernetes-Label mit dem Schlüssel foo und dem Wert bar angeben).

      Beachten Sie, dass die Eigenschaft, die Sie ändern, irrelevant ist, Sie jedoch mindestens eine Eigenschaft ändern müssen.

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

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

    5. Gehen Sie im Dialogfeld Zyklusknoten wie folgt vor:

      1. Wählen Sie in der Liste Radfahrenoptionen die Option Knoten ersetzen.
      2. Steuern Sie die Anzahl der Knoten, die parallel aktualisiert werden sollen, und gleichen Sie Verfügbarkeit und Kosten des Service aus, indem Sie Folgendes angeben:
        • Maximaler Zuwachs (maximale Anzahl bzw. maximaler Prozentsatz zusätzlicher Knoten): Die maximale Anzahl zusätzlicher Knoten, die im Knotenpool während des Vorgangs vorübergehend zulässig sind (wird entweder als Ganzzahl oder als Prozentsatz ausgedrückt). Zusätzliche Knoten sind Knoten, die über der in der Eigenschaft Knotenanzahl des Knotenpools angegebenen Anzahl liegen. Wenn Sie eine Ganzzahl für die Anzahl zusätzlicher Knoten angeben, geben Sie keine Zahl an, die größer als der Wert für Knotenanzahl ist.
        • Maximal nicht verfügbar (Maximale Anzahl oder Prozentsatz nicht verfügbarer Knoten): Die maximale Anzahl von Knoten, die während des Vorgangs im Knotenpool nicht verfügbar sein können (wird entweder als Ganzzahl oder als Prozentsatz ausgedrückt). Wenn Sie eine Ganzzahl für die Anzahl der nicht verfügbaren Knoten angeben, geben Sie keine Zahl an, die größer als der Wert für Knotenanzahl ist.

        Siehe Serviceverfügbarkeit und -kosten beim Beenden und Ersetzen verwalteter Knoten in Knotenpools ausgleichen.

      3. Wählen Sie Zyklusknoten aus, um den Vorgang zu starten.

      Kubernetes Engine verwendet die Cordon- und Drain-Optionen, die für den Knotenpool angegeben sind, um die Worker-Knoten zu verschlüsseln und zu entleeren. Weitere Informationen finden Sie unter Verwaltete Knoten vor dem Herunterfahren oder Beenden cordoning and draining.

    6. Ü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 beenden und ersetzen Sie einen bestimmten verwalteten Knoten:

    1. Wählen Sie auf der Listenseite Cluster den Namen des Clusters mit dem Worker-Knoten aus, den Sie neu starten möchten. 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 dann den Namen des Knotenpools aus, der den Worker-Knoten enthält, den Sie beenden und ersetzen möchten.
    3. Wählen Sie auf der Registerkarte Knoten im Menü Aktionen (drei Punkte) neben dem Knoten, den Sie beenden und ersetzen möchten, die Option Zyklusknoten aus.

    4. Gehen Sie im Dialogfeld Zyklusknoten wie folgt vor:
      1. Wählen Sie in der Liste Radfahrenoptionen die Option Knoten ersetzen.
      2. Geben Sie an, wann und wie der Worker-Knoten vor dem Beenden und Ersetzen gekürzt und entladen werden soll, indem Sie Folgendes angeben:

        • Nachfrist für Sachverhalt (Min.): Die Zeitspanne, die es erlaubt ist, den Worker-Knoten vor der Ausführung der Aktion zu verschlüsseln und abzulassen. Übernehmen Sie entweder den Standardwert (maximal 60 Minuten), oder geben Sie eine Alternative an. Beispiel: Sie möchten zulassen, dass ein Worker-Knoten 30 Minuten lang verschlankt und von seinen Workloads entlastet wird. Um die Aktion sofort auszuführen, ohne den Worker-Knoten zu verbinden und zu entleeren, geben Sie 0 Minuten an.
        • Beenden nach Kulanzfrist erzwingen: Gibt an, ob Worker-Knoten am Ende der Kulanzfrist für die Räumung beendet werden sollen, selbst wenn sie nicht erfolgreich gesperrt und entladen wurden. Standardmäßig ist diese Option nicht ausgewählt.

        Weitere Informationen finden Sie unter Verwaltete Knoten vor dem Herunterfahren oder Beenden cordoning und draining.

      3. Wählen Sie Zyklusknoten aus, um den Vorgang zu starten.
    5. Ü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 beenden und ersetzen Sie alle Worker-Knoten in einem verwalteten Knotenpool

    Um alle Worker-Knoten in einem verwalteten Knotenpool zu beenden und zu ersetzen, verwenden Sie den Befehl oci ce node-pool update und die erforderlichen Parameter:

    oci ce node-pool update --node-pool-id <node-pool-ocid> --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"cycleModes\":[\"INSTANCE_REPLACE\"],\"maximumUnavailable\":<value>,\"maximumSurge\":<value>}" --<property-to-update> <new-value> [OPTIONS]

    wobei --<property-to-update> <new-value> ein neuer Wert für eine Knotenpool-Eigenschaft ist. Beachten Sie, dass die Eigenschaft, die Sie ändern, irrelevant ist, Sie jedoch mindestens eine Eigenschaft ändern müssen. Beachten Sie außerdem, dass die Aufnahme von \"cycleModes\":[\"INSTANCE_REPLACE\"] in den Parameter --node-pool-cycling-details optional ist, da davon ausgegangen wird, dass dies nicht explizit enthalten ist.

    Beispiel:

    oci ce node-pool update --node-pool-id ocid1.nodepool.oc1.iad.aaaaaaa______eya --node-pool-cycling-details "{\"isNodeCyclingEnabled\":true,\"maximumUnavailable\":1,\"maximumSurge\":1}" --initial-node-labels '[{"key": "foo", "value": "bar"}]'

    So beenden und ersetzen Sie einen bestimmten verwalteten Knoten

    Um einen bestimmten verwalteten Knoten zu beenden und zu ersetzen, verwenden Sie den Befehl oci ce node-pool delete-node und die erforderlichen Parameter zum Löschen eines Knotens. Fügen Sie --is-decrement-size false hinzu, um anzugeben, dass Sie den Knotenpool nicht horizontal skalieren möchten:

    oci ce node-pool delete-node --node-pool-id <node-pool-ocid> --node-id <node-ocid> --is-decrement-size false [OPTIONS]
  • So beenden und ersetzen Sie alle Worker-Knoten in einem verwalteten Knotenpool mit der OCI-API:

    Führen Sie den Vorgang UpdateNodePool aus, um alle Worker-Knoten in einem verwalteten Knotenpool zu beenden und zu ersetzen.

    So beenden und ersetzen Sie einen bestimmten verwalteten Knoten mit der OCI-API:

    Führen Sie den Vorgang DeleteNode aus, um einen bestimmten verwalteten Knoten mit der OCI-API zu beenden und zu ersetzen.