Eintrag

K3s-Cluster – Teil 2: Agent-Nodes verbinden

Agent-Nodes zuverlässig mit einem bestehenden K3s-Cluster verbinden – automatisierbar, reproduzierbar und ideal für homelab- oder produktionsnahe Setups.

K3s-Cluster – Teil 2: Agent-Nodes verbinden

K3s Cluster – Teil 2: Agent-Nodes verbinden

Im ersten Teil wurde ein K3s-Server (Control Plane) eingerichtet. In diesem Abschnitt lernst du, wie du Agent-Nodes ausschließlich über eine Konfigurationsdatei (/etc/rancher/k3s/config.yaml) in das bestehende Cluster einbindest.

Diese Methode ist besonders sinnvoll für automatisierte Setups mit Tools wie Ansible oder bei mehreren identischen Nodes.


Voraussetzungen

  • Der Server-Node läuft bereits mit cluster-init: true
  • Du hast Zugriff auf die IP-Adresse des Servers und den Node-Token
  • Der Agent-Node ist netzwerkseitig erreichbar (z. B. über LAN oder VPN)
  • Die IP des Agent-Nodes ist fest oder per DHCP reserviert

1. Token vom Server abrufen

Um einen Agent-Node mit dem Cluster zu verbinden, benötigst du den Node-Token aus der bestehenden K3s-Server-Installation. Falls du diesen Token beim Setup nicht notiert hast oder er dir nicht mehr vorliegt, kannst du ihn auf dem Server wie folgt erneut auslesen:

1
sudo cat /var/lib/rancher/k3s/server/node-token

Die Ausgabe sieht z. B. so aus:

1
K10c08c95b5e08b2b4011732c991ca83d9a::server:7f5345978e54244e57aee1d56c68faae

Wichtig: Du solltest den gesamten Inhalt dieser Datei als Token verwenden. Dieses sogenannte Secure Token enthält sowohl den Cluster-CA-Hash als auch die Anmeldeinformationen und bietet zusätzliche Sicherheitsfunktionen beim Beitritt des Agent-Nodes zum Cluster.


2. Konfigurationsdatei auf dem Agent-Node erstellen

Erstelle auf dem Agent-Node die Datei:

1
/etc/rancher/k3s/config.yaml

Beispielinhalt:

1
2
3
4
5
server: https://192.168.1.10:6443
token: K10c08c95b5e08b2b4011732c991ca83d9a::server:7f5345978e54244e57aee1d56c68faae
node-name: k3s-agent-01
node-ip: 192.168.1.11
flannel-iface: eth0

Erklärung der Parameter:

  • server: URL des K3s-Servers (Control Plane), inklusive Port :6443
  • token: Vollständiger Secure Token für die Authentifizierung (siehe oben)
  • node-name: Anzeigename des Nodes im Cluster
  • node-ip: Eigene IP-Adresse (besonders bei mehreren Interfaces sinnvoll)
  • flannel-iface: Falls mehrere Netzwerkschnittstellen vorhanden sind, gib hier die korrekte an (z. B. eth0)

3. Agent installieren

Nachdem die config.yaml erstellt wurde, kannst du die Installation ausführen:

1
curl -sfL https://get.k3s.io | sh -

Da K3s beim Start die Konfigurationsdatei automatisch liest, wird der Node direkt als Agent mit dem Cluster verbunden.


4. Verbindung prüfen (auf dem Server)

Auf dem Server-Node kannst du prüfen, ob der Agent korrekt beigetreten ist:

1
kubectl get nodes

Beispielausgabe:

1
2
3
NAME                 STATUS   ROLES           AGE   VERSION
k3s-control-plane    Ready    control-plane   10m   v1.29.1+k3s1
k3s-agent-01         Ready    <none>          30s   v1.29.1+k3s1

Fazit

Durch die Verwendung einer config.yaml-Datei wird die Installation von Agent-Nodes sauber, reproduzierbar und automatisierbar. Diese Methode eignet sich hervorragend für einface Setups.

Im nächsten Schritt kannst du deinen Cluster z. B. mit einem Ingress-Controller, Persistent Storage oder Monitoring erweitern.

Bildnachweis

Image by guaxipo from Pixabay


Dieser Beitrag wurde erstellt von OSAIA Consulting – Experten für Platform Engineering, Automatisierung und Softwarearchitektur.

💬 Fragen oder Feedback?
Wir freuen uns über den Austausch – schreibt uns jederzeit über unsere Website.

Dieser Eintrag ist vom Autor unter CC BY 4.0 lizensiert.