k3s – die leichtgewichtige Kubernetes-Distribution

k3s ist eine schlanke Kubernetes-Distribution. Minimale Anforderungen: 2 CPUs, 4 GB RAM.

Installation (Single Node)

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

kubectl mit k3s

k3s bringt ein eingebautes kubectl mit:

k3s kubectl version --client
k3s kubectl get nodes

Für den direkten kubectl-Befehl die kubeconfig kopieren:

cp /etc/rancher/k3s/k3s.yaml ~/.kube/config
kubectl get nodes

Multi-Node Cluster

Auf dem Control-Plane (student-0):

curl -sfL https://get.k3s.io | sh -
cat /var/lib/rancher/k3s/server/agent-token   # Token für Worker-Nodes

Auf den Worker-Nodes:

curl -sfL https://get.k3s.io | K3S_URL=https://[ip-control-plane]:6443 K3S_TOKEN=[token] sh -

Prüfen ob Nodes beigetreten sind:

kubectl get nodes
kubectl get pods -o wide

Node aus Cluster entfernen

kubectl drain --ignore-daemonsets --force [node-name]
kubectl delete node [node-name]

Node wieder hinzufügen:

systemctl restart k3s-agent

Container Runtime

k3s verwendet containerd + runc (kein Docker-Daemon):

ps aux | grep containerd
ps aux | grep runc

Deinstallation

k3s-uninstall.sh            # Control-Plane
k3s-agent-uninstall.sh      # Worker-Node

Windows (WSL)

wsl --install Debian
wsl -d Debian
# dann: sudo bash
curl -sfL https://get.k3s.io | sh -