Kubernetes Light Setup: k3s auf Linux Server installieren

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 -
  • Cluster Status prüfen:
  • kubectl get nodes
    kubectl get pods --all-namespaces
  • Logs von Komponenten prüfen:
  • 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.

Related Articles