Kubernetes ist der De-facto-Standard für Container-Orchestrierung. Für kleinere Umgebungen, Homelabs oder Edge-Szenarien ist die Vollinstallation oft zu komplex. Hier kommt k3s ins Spiel: eine leichtgewichtige, aber voll Kubernetes-kompatible Distribution, die sich einfach auf Linux-Servern installieren lässt. In diesem Tutorial zeigen wir Schritt für Schritt, wie k3s eingerichtet und genutzt werden kann.
Vorteile von k3s
- Leichtgewichtig: Minimale Ressourcennutzung, ideal für Homelabs und kleine Server.
- Einfaches Setup: Ein einzelnes Binary, das den Master und Agent beinhaltet.
- Integrierte Komponenten: Traefik, SQLite, CoreDNS bereits enthalten.
- Rootless möglich: Kann ohne Root-Rechte betrieben werden, erhöht Sicherheit.
- Kubernetes-kompatibel: Nutzt dieselben APIs wie Standard-Kubernetes.
Systemanforderungen
- Linux Server (Ubuntu, Debian, CentOS, Rocky, AlmaLinux)
- 2 GB RAM Minimum (für Testumgebungen)
- 1 CPU Core Minimum
- Root- oder Sudo-Zugang für die Installation
- Internetverbindung für k3s Binary und Container Images
k3s installieren
Installation auf Ubuntu/Debian
# Update des Systems
sudo apt update && sudo apt upgrade -y
k3s installieren (ein Kommando)
curl -sfL https://get.k3s.io | sh -
Prüfen, ob k3s läuft
sudo systemctl status k3s
Kubernetes CLI Zugriff
sudo k3s kubectl get nodes
Installation auf RHEL/CentOS/AlmaLinux/Rocky
# System aktualisieren
sudo dnf update -y
k3s installieren
curl -sfL https://get.k3s.io | sh -
Status prüfen
sudo systemctl status k3s
Nodes prüfen
sudo k3s kubectl get nodes
Rootless k3s Setup
Für erhöhte Sicherheit kann k3s ohne Root betrieben werden:
# Rootless Installation
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="--write-kubeconfig-mode 644" sh -
Prüfen
kubectl get nodes
Agent Nodes hinzufügen
Weitere Server können als Worker Nodes hinzugefügt werden:
# Auf Master Node den Token prüfen
sudo cat /var/lib/rancher/k3s/server/node-token
Auf Worker Node k3s installieren und verbinden
curl -sfL https://get.k3s.io | K3S_URL=https://:6443 K3S_TOKEN= sh -
kubectl Zugriff konfigurieren
k3s erzeugt automatisch eine kubeconfig unter /etc/rancher/k3s/k3s.yaml:
# Kopieren der kubeconfig für den Benutzer
mkdir -p $HOME/.kube
sudo cp /etc/rancher/k3s/k3s.yaml $HOME/.kube/config
sudo chown $(id -u):$(id -g) $HOME/.kube/config
Prüfen der Nodes
kubectl get nodes
Deployments und Services erstellen
Ein einfaches Deployment kann direkt erstellt werden:
# Nginx Deployment erstellen
kubectl create deployment nginx --image=nginx:latest
Service erstellen
kubectl expose deployment nginx --type=NodePort --port=80
Prüfen
kubectl get pods
kubectl get svc
Persistente Volumes
Für Stateful Applications können lokale PVs genutzt werden:
# Beispiel PV
cat <
Traefik Ingress nutzen
k3s kommt mit Traefik als Ingress Controller:
# Prüfen, ob Traefik läuft
kubectl get pods -n kube-system
Beispiel Ingress erstellen
cat <
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
name: nginx-ingress
annotations:
kubernetes.io/ingress.class: traefik
spec:
rules:
-
host: nginx.local
http:
paths:
-
path: /
pathType: Prefix
backend:
service:
name: nginx
port:
number: 80
EOF
Upgrades und Wartung
- k3s kann einfach via Skript aktualisiert werden:
curl -sfL https://get.k3s.io | sh -
kubectl get nodes
kubectl get pods --all-namespaces
sudo journalctl -u k3s -f
Backup und Restore
Für Produktionsumgebungen sollten ETCD-Daten regelmäßig gesichert werden:
# Backup
sudo k3s etcd-snapshot save --name snapshot1
Restore
sudo k3s etcd-snapshot restore --name snapshot1
Fazit
k3s ermöglicht einen schnellen Einstieg in Kubernetes auf Linux-Servern, sowohl für Homelabs als auch für produktive Edge-Setups. Durch die kompakte Distribution, Rootless-Fähigkeit und integrierte Komponenten wie Traefik oder CoreDNS ist ein funktionsfähiger Kubernetes-Cluster in wenigen Minuten einsatzbereit.
Konfiguriere Cisco Router & Switches und liefere ein Packet-Tracer-Lab/GNS3
Ich biete professionelle Unterstützung im Bereich Netzwerkkonfiguration und Network Automation für private Anforderungen, Studienprojekte, Lernlabore, kleine Unternehmen sowie technische Projekte. Ich unterstütze Sie bei der Konfiguration von Routern und Switches, der Erstellung praxisnaher Topologien in Cisco Packet Tracer, dem Aufbau und Troubleshooting von GNS3- und EVE-NG-Labs sowie bei der Automatisierung von Netzwerkaufgaben mit Netmiko, Paramiko, NAPALM und Ansible. Kontaktieren Sie mich jetzt – klicken Sie hier.
Meine Leistungen umfassen:
-
Professionelle Konfiguration von Routern und Switches
-
Einrichtung von VLANs, Trunks, Routing, DHCP, NAT, ACLs und weiteren Netzwerkfunktionen
-
Erstellung von Topologien und Simulationen in Cisco Packet Tracer
-
Aufbau, Analyse und Fehlerbehebung von Netzwerk-Labs in GNS3 und EVE-NG
-
Automatisierung von Netzwerkkonfigurationen mit Python, Netmiko, Paramiko, NAPALM und Ansible
-
Erstellung von Skripten für wiederkehrende Netzwerkaufgaben
-
Dokumentation der Konfigurationen und Bereitstellung nachvollziehbarer Lösungswege
-
Konfigurations-Backups, Optimierung bestehender Setups und technisches Troubleshooting
Benötigen Sie Unterstützung bei Ihrem Netzwerkprojekt, Ihrer Simulation oder Ihrer Network-Automation-Lösung? Kontaktieren Sie mich jetzt – klicken Sie hier.











