K3D
Ist ein Hilfsmittel um einen K3S Cluster mit Docker innerhalb weniger Sekunden aufzusetzen. Hierbei wird eine Installation von K3S auf dem Host nicht benötigt, da K3S in Docker Containern gestartet wird. Wenn einmal die Docker Images geladen sind und lokal vorliegen, dann lässt sich sogar auf einem älteren Laptop ein Cluster mit mehreren Nodes innerhalb weniger Sekunden starten.
Installation
Die Installation erfolg über ein PKGBUILD, da
pkgname="rancher-k3d-bin"
pkgver=3.0.0b2
_pkgver=3.0.0-beta.2
pkgrel=1
pkgdesc='Little helper to run Rancher Labs k3s in Docker'
arch=('x86_64')
url='https://github.com/rancher/k3d'
license=('MIT')
provides=("k3d")
source=("${pkgname}-${_pkgver}::https://github.com/rancher/k3d/releases/download/v$_pkgver/k3d-linux-amd64")
md5sums=('563d008cf92dbe42afe280b0930a0d79')
package() {
install -Dm 0755 ${pkgname}-${_pkgver} "$pkgdir/usr/bin/k3d"
}
Die Version 3.0.0 befindet sich aktuell noch in der Entwicklung, aber da sie einige wichtige Änderungen beinhaltet, werde ich hier auf die Beta setzen. Diese scheint aber bereits ausgereift, so dass sie getestet werden kann. Bislang gab es keine Probleme.
Einen Cluster erstellen
Wie bereits beschrieben, lässt sich ein Cluster sehr einfach und schnell starten. K3D benötigt hierzu nur wenige Parameter. Der Cluster soll den Namen Demo erhalten und insgesamt 3 Worker (Nodes) bereitstellen. Zusätzlich wird ein Portmapping eingerichtet, sodass auf die Anwendung von außen zugegriffen werden kann.
k3d create cluster Demo -w 3 -p 8081:80@loadbalancer
Das Portmapping -p auf dem Host Port 8081 wird auf den Container gematched der auf den Nodefilter loadbalancer hört.
Liste der Cluster ausgeben
k3d get cluster
Cluster löschen
k3d delete cluster Demo
Cluster starten und stoppen
$k3d stop cluster Demo
INFO[0000] Stopping cluster 'demo'
$k3d start cluster Demo
INFO[0000] Starting cluster 'demo'
INFO[0000] Starting Node 'k3d-demo-worker-3'
INFO[0000] Starting Node 'k3d-demo-worker-2'
INFO[0001] Starting Node 'k3d-demo-worker-1'
INFO[0001] Starting Node 'k3d-demo-worker-0'
INFO[0002] Starting Node 'k3d-demo-master-0'
INFO[0002] Starting Node 'k3d-demo-masterlb'
Die Nodes anzeigen
Eine Liste der Nodes auf dem Cluster kann man sich mit get node anzeigen lassen.
k3d get node