automation-suite
2023.10
true
Automation Suite unter Linux – Installationsanleitung
Last updated 4. Okt. 2024

Starten und Herunterfahren eines Knotens

Auf dieser Seite wird das Verhalten beim manuellen und automatischen Starten und Herunterfahren der Automation Suite erklärt.

Verhalten beim Starten

rke2-service wird gestartet, gefolgt von node-drainer und node-uncordon. node-drainer führt beim Start keine Aktion aus, sondern gibt nur die Bestätigung zurück, dass der Dienst aktiv ist.
node-uncordon wird nur einmal ausgeführt und startet /opt/node-drain.sh nodestart, wodurch der Knoten per Uncordon entsperrt wird. Als Teil des Drain-Vorgangs, der beim Herunterfahren ausgeführt wird, wird der Knoten per Cordon gesperrt, sodass er nicht eingeplant werden kann. Dieser Status bleibt bestehen, wenn der rke2-Dienst gestartet wird. Daher muss der Knoten nach rke2-service-Neustarts per Uncordon entsperrt werden.

Manueller Start

Der Dienst wird automatisch mit der Automation Suite gestartet. Wenn rke2-service jedoch manuell gestoppt wurde, müssen Sie den Dienst erneut starten, indem Sie die folgenden Befehle ausführen:
  1. Starten Sie den Kubernetes-Prozess, der auf dem Serverknoten ausgeführt wird:
    systemctl start rke2-serversystemctl start rke2-server
  2. Starten Sie den Kubernetes-Prozess, der auf dem Serverknoten ausgeführt wird:
    systemctl start rke2-agentsystemctl start rke2-agent
  3. Nachdem der rke2-Dienst gestartet wurde, entsperren Sie den Knoten per Uncordon, um sicherzustellen, dass Kubernetes jetzt Workloads auf diesem Knoten planen kann:
    systemctl restart node-uncordonsystemctl restart node-uncordon
  4. Sobald der Knoten gestartet wurde, müssen Sie den Knoten per Drain entfernen:
    systemctl start node-drain.servicesystemctl start node-drain.service
    Wichtig:

    Wenn Sie Schritt 4 überspringen, kann das dazu führen, dass der Kubelet-Dienst nicht ordnungsgemäß heruntergefahren wird, wenn das System neu gestartet wird.

Verhalten beim Herunterfahren

Während des Herunterfahrens stoppt systemd die Dienste in der Reihenfolge, in der sie gestartet wurden. Da der node-drain-Dienst die Anweisung After=rke2-server.service oder After=rke2-agent.service hat, führt er seine Herunterfahren-Sequence aus, bevor rke2-service heruntergefahren wird. Das bedeutet, dass in einem korrekt konfigurierten System das einfache ordnungsgemäße Herunterfahren des Knotens ein sicherer Vorgang ist.

Manueller Neustart

Wenn Sie den rke2-Dienst stoppen und die Maschine neu starten möchten, führen Sie die folgenden Schritte aus:

  1. Um sicherzustellen, dass der Cluster fehlerfrei ist, während Sie eine Knotenwartungsaktivität ausführen, müssen Sie die Workloads, die auf diesem Knoten ausgeführt werden, per Drain auf andere Knoten umleiten. Um den Knoten per Drain zu entfernen, führen Sie den folgenden Befehl aus:
    systemctl stop node-drain.servicesystemctl stop node-drain.service
  2. Halten Sie den Kubernetes-Prozess an, der auf dem Serverknoten ausgeführt wird:
    systemctl stop rke2-serversystemctl stop rke2-server
  3. Halten Sie den Kubernetes-Prozess an, der auf dem Agent-Knoten ausgeführt wird:
    systemctl stop rke2-agentsystemctl stop rke2-agent
  4. Beenden Sie die rke2-Dienste und containerd sowie alle untergeordneten Prozesse:

    rke2-killall.shrke2-killall.sh
    Es sollte bereits im Pfad vorhanden sein, aber Sie finden es unter /bin/rke2-killall.sh.

Während der Installation erstellte Dateien

  1. Die folgenden Einheitendateien werden während der Installation erstellt:
    • rke2-server.service (nur Server). Startet rke2-server, wodurch der Serverknoten gestartet wird.
    • rke2-agent.service (nur Agent). Startet rke2-agent, wodurch der Agent-Knoten gestartet wird.
    • node-drain.service. Wird beim Herunterfahren verwendet. Wird vor dem Herunterfahren von rke2-agent oder rke2-server ausgeführt und führt einen Drain durch. Hat ein Timeout von 300 Sekunden.
    • node-uncordon.service. Wird beim Starten verwendet, um einen Knoten per Uncordon zu entsperren.
    • var-lib-kubelet.mount. Automatisch von „fstab generator“ generiert.
    • var-lib-rancher-rke2-server-db.mount. Automatisch von „fstab generator“ generiert.
    • var-lib-rancher.mount. Automatisch von „fstab generator“ generiert.
Es gibt keine strengen Abhängigkeiten zwischen den Einheitendateien. node-drain und node-uncordon haben jedoch die Anweisung After=rke2-server.service oder After=rke2-agent.service. Diese Dienste werden deshalb nach rke2-service gestartet.

War diese Seite hilfreich?

Hilfe erhalten
RPA lernen – Automatisierungskurse
UiPath Community-Forum
Uipath Logo White
Vertrauen und Sicherheit
© 2005–2024 UiPath. Alle Rechte vorbehalten