k3d
k3d ist ein Tool, das die einfache Bereitstellung von K3s (einer leichtgewichtigen Kubernetes-Distribution von Rancher Labs) in Docker-Containern ermöglicht. Mit k3d können Benutzer lokal Kubernetes-Cluster aufsetzen, ohne aufwendige Setups, was es ideal für Entwicklungs- und Testumgebungen macht. Es stellt eine schnelle und ressourcenschonende Möglichkeit dar, Kubernetes lokal zu verwenden.
Vorteile von k3d:
- Leichtgewichtig: Da K3s weniger Ressourcen benötigt, läuft es gut auf Entwicklungsmaschinen.
- Schnelles Setup: Ein K3s-Cluster kann innerhalb von Sekunden erstellt und gelöscht werden.
- Docker-Integration: Da
k3ddie Container-Runtime Docker verwendet, lässt es sich nahtlos mit bestehenden Docker-Workflows integrieren.
Beispiele für k3d-Befehle:
k3d cluster create <name>– Erstellt einen neuen K3s-Cluster.k3d cluster delete <name>– Löscht einen bestehenden K3s-Cluster.k3d cluster list– Zeigt alle aktuell laufenden K3s-Cluster an.
Installation
Linux
Windows
Commands
cluster
k3d cluster create demo --api-port 6550 -p "80:80@loadbalancer" --agents 3
Um sicherzustellen, dass bestimmte Nodes in einem Kubernetes-Cluster keine allgemeinen Workloads erhalten, können sogenannte Taints verwendet werden. Taints verhindern, dass Pods ohne entsprechende Toleration auf diesen Nodes geplant werden. Dies ist nützlich, um beispielsweise Master-Nodes für spezielle Aufgaben zu reservieren.
NoSchedule sorgt dafür, dass neue Pods auf diesen Nodes nur geplant werden, wenn sie eine passende Toleration für den Taint besitzen. So bleiben die Nodes für spezifische Rollen reserviert und stehen nicht für allgemeine Workloads zur Verfügung.
kubectl taint nodes k3d-demo-server-0 node-role.kubernetes.io/master=:NoSchedule
kubeconfig
Die Kubeconfig wird automatisch in deine aktuelle Kubeconfig gemerged.
Wenn der Cluster gelöscht wird, wird die Kubeconfig des Clusters wieder entfernt.
Mit dem folgenden Befehl kannst du die aktuelle Kubeconfig des Clusters ausgeben.
So hast du die Möglichkeit, sie als eigenständige Datei zu speichern und zu verwenden.