Einzel- und Multi-Node Kubernetes-Cluster-Setup mit K3s, kubectl-Nutzung, Deployments und Services erstellen, Anwendungsverwaltung mit Helm. Kubernetes-Leitfaden für VPS-Umgebungen.
Kubernetes ist der Industriestandard für Container-Orchestrierung. Eine vollständige Kubernetes-Installation kann jedoch ressourcenintensiv und komplex sein. K3s ist eine leichtgewichtige Kubernetes-Distribution von Rancher — sie bietet alle Kubernetes-Funktionen in einer einzigen Binary und funktioniert hervorragend in ressourcenbeschränkten Umgebungen wie VPS.
Warum K3s wählen?
Merkmal
Vollständiges Kubernetes
K3s
Binary-Größe
~500MB+
~100MB
Mindest-RAM
2GB+
512MB
Installationszeit
30-60 Min
5 Min
Abhängigkeiten
Viele
Minimal
Kubernetes-Kompatibilität
Vollständig
Vollständig
Produktionseinsatz
Ja
Ja
K3s ist vollständig mit der Kubernetes-API kompatibel. kubectl, Helm und andere Kubernetes-Tools funktionieren nahtlos mit K3s. Ideal für kleine bis mittlere Produktionsumgebungen.
# K3s installieren (Server-Modus)
curl -sfL https://get.k3s.io | sh -
# Service-Status nach Installation prüfen
systemctl status k3s
# Cluster-Status prüfen
kubectl get nodes
# Alle Pods auflisten
kubectl get pods -A
# Master-Node installieren und Token speichern
curl -sfL https://get.k3s.io | sh -
# Node-Token abrufen (für Worker-Nodes benötigt)cat /var/lib/rancher/k3s/server/node-token
Worker-Node (Agent)
hljs bash
# Worker-Node mit Master verbinden
curl -sfL https://get.k3s.io | K3S_URL=https://MASTER_IP:6443 K3S_TOKEN=NODE_TOKEN sh -
# Auf Master prüfen, ob Worker beigetreten ist
kubectl get nodes
Grundlegende kubectl-Befehle
hljs bash
# Nodes auflisten
kubectl get nodes
kubectl get nodes -o wide
# Pods auflisten
kubectl get pods
kubectl get pods -n kube-system
kubectl get pods -A
# Deployments auflisten
kubectl get deployments
# Services auflisten
kubectl get services
# Ressourcendetails anzeigen
kubectl describe pod POD_NAME
kubectl describe node NODE_NAME
# Pod-Logs anzeigen
kubectl logs POD_NAME
kubectl logs -f POD_NAME
# Befehl in Pod ausführen
kubectl exec -it POD_NAME -- /bin/bash
K3s bietet die volle Leistung von Kubernetes mit minimalem Ressourcenverbrauch. Es ist eine ideale Lösung für produktionsreife Container-Orchestrierung in VPS-Umgebungen. Mit K3s auf REXE-Servern können Sie Ihre Anwendungen einfach skalieren, hohe Verfügbarkeit gewährleisten und moderne DevOps-Praktiken implementieren.
Häufig gestellte Fragen
Was ist der Hauptunterschied zwischen K3s und vollständigem Kubernetes?
K3s ist eine leichtgewichtige Distribution, die vollständig mit der Kubernetes-API kompatibel ist. Unterschiede: K3s ist eine einzelne Binary (~100MB), während vollständiges Kubernetes mehrere Komponenten benötigt. K3s kann SQLite verwenden (statt etcd), verbraucht weniger RAM (512MB vs 2GB+) und installiert sich viel schneller. Beide eignen sich für den Produktionseinsatz.
Pods starten in K3s nicht, was soll ich tun?
Prüfen Sie zuerst die Ereignisse mit kubectl describe pod POD_NAME. Häufige Probleme: 1) Unzureichende Ressourcen (mit kubectl describe node prüfen), 2) Image-Pull-Fehler (mit docker pull testen), 3) PVC kann nicht gebunden werden (mit kubectl get pvc prüfen), 4) Fehlende ConfigMap/Secret. Prüfen Sie auch Anwendungslogs mit kubectl logs POD_NAME.
Wie greife ich von außen auf meine Anwendung zu?
Drei Methoden: 1) NodePort Service: öffnet einen Port zwischen 30000-32767, Zugriff über IP:PORT. 2) LoadBalancer Service: funktioniert mit Klipper LB in K3s. 3) Ingress Controller: ermöglicht domainbasierten Zugriff auf mehrere Apps über eine einzelne IP (empfohlen). Traefik ist standardmäßig in K3s enthalten.
Wie passe ich ein Helm-Chart an?
Zeigen Sie Standardwerte mit helm show values CHART_NAME an. Erstellen Sie eine values.yaml-Datei zur Anpassung und verwenden Sie sie mit helm install -f values.yaml. Alternativ können Sie einzelne Werte mit --set key=value übergeben. Verwenden Sie helm upgrade, um eine bestehende Installation zu aktualisieren.
Ich kann keinen Worker-Node zum K3s-Cluster hinzufügen, warum?
Prüfen Sie: 1) Port 6443 auf Master ist vom Worker erreichbar (telnet MASTER_IP 6443), 2) NODE_TOKEN ist korrekt (cat /var/lib/rancher/k3s/server/node-token), 3) Port 6443 ist in der Firewall geöffnet, 4) k3s-agent Service-Logs auf Worker prüfen (journalctl -u k3s-agent -f).
Docker-Log-Treiber, docker logs-Befehl, Kubernetes Pod-Logs, zentralisierte Log-Sammlung (Loki, ELK Stack), Log-Rotation und Best Practices für Log-Verwaltung in Produktionsumgebungen.