HOME LAB · SELFHOSTING · NETZWERK

Schlagwort: cluster

  • k3s Worker Node hinzufügen: Join, Labels, Drain und sichere Wartung

    k3s Worker Node hinzufügen: Join, Labels, Drain und sichere Wartung

    Schwierigkeit: Mittel · Dauer: 35–65 Min · Ziel: k3s Worker Node hinzufügen: Join, Labels, Drain und sichere Wartung

    Kurzproblem und Zielbild

    In vielen Homelabs funktioniert die Erstinstallation, aber der Dauerbetrieb wird schnell unübersichtlich. Dieses Tutorial zeigt einen reproduzierbaren Ablauf für k3s Worker Node hinzufügen mit Fokus auf Stabilität, klare Checks und einfache Fehlerbehebung.

    Ziel ist ein Setup, das nicht nur heute läuft, sondern auch nach Updates und Änderungen beherrschbar bleibt.

    Voraussetzungen

    • Aktuelles Debian/Ubuntu oder kompatible Appliance
    • Administrative Rechte und Wartungsfenster
    • Backup- oder Snapshot-Möglichkeit vor Änderungen

    Schnellstart (funktionierende Basis)

    # Basisprüfung
    hostnamectl
    ip a
    # Dienste prüfen
    systemctl --failed
    # Logs kurz prüfen
    journalctl -p 3 -xb --no-pager | tail -n 30

    Was macht das? Du prüfst erst den Grundzustand und vermeidest, dass Altfehler in neue Änderungen hineinwirken.

    Schritt-für-Schritt Umsetzung

    1) Ausgangszustand dokumentieren

    date -Iseconds
    uname -a
    # versions/relevante configs sichern

    Erklärung: Mit einer kurzen Bestandsaufnahme lassen sich spätere Fehler schneller eingrenzen.

    2) Kernkonfiguration sauber setzen

    sudo cat /var/lib/rancher/k3s/server/node-token
    curl -sfL https://get.k3s.io | K3S_URL=https://SERVER_IP:6443 K3S_TOKEN=TOKEN sh -
    kubectl get nodes -o wide
    kubectl label node WORKER1 workload=apps tier=edge

    Erklärung: Änderungen gezielt umsetzen, danach direkt den Dienst-/Funktionszustand prüfen.

    3) Dienst kontrolliert neu laden

    sudo systemctl daemon-reload
    sudo systemctl restart 
    sudo systemctl status  --no-pager

    4) Betriebsgrenzen testen

    kubectl cordon WORKER1
    kubectl drain WORKER1 --ignore-daemonsets --delete-emptydir-data
    kubectl get nodes
    kubectl uncordon WORKER1

    Validierung / Checks

    kubectl get nodes -o wide
    kubectl describe node WORKER1 | sed -n "1,180p"
    systemctl status k3s-agent --no-pager
    journalctl -u k3s-agent -n 150 --no-pager

    Troubleshooting

    Konfiguration wird nicht übernommen

    Ursache: Syntax-, Reload- oder Parameterfehler.

    nc -vz SERVER_IP 6443
    cat /etc/rancher/k3s/config.yaml
    journalctl -u k3s-agent -n 200 --no-pager

    Dienst läuft, Funktion aber fehlerhaft

    Ursache: Abhängigkeiten, Routing oder Berechtigungen sind inkonsistent.

    kubectl get pdb -A
    kubectl get pods -A -o wide | grep WORKER1
    kubectl describe pod POD -n NAMESPACE

    Fazit

    Mit einem klaren Ablauf für k3s Worker Node hinzufügen reduzierst du Ausfälle und erhöhst die Wartbarkeit deutlich. Der wichtigste Hebel ist die Kombination aus kleiner Änderung, sofortigem Check und dokumentiertem Ergebnis.

    Nächster Schritt: den Ablauf als monatliche Betriebsroutine einplanen und regelmäßig gegen echte Störfälle testen.

    Quellen