Extraschlanke Distributionen

3 Mittel gegen Kubernetes-Komplexität

16.12.2022
Von 
Serdar Yegulalp schreibt für unsere US-Schwesterpublikation Infoworld.
Verloren im Kubernetes-Dschungel? Diese drei populären, miniaturisierten Distributionen schaffen Abhilfe und unterstützen Sie in Sachen Container Management.
Diese drei Kubernetes-Distributionen reduzieren Container-Orchestrierung auf das Wesentliche.
Diese drei Kubernetes-Distributionen reduzieren Container-Orchestrierung auf das Wesentliche.
Foto: RaulAlmu - shutterstock.com

"Small is beautiful", wusste einst schon der Ökonom Ernst Friedrich Schumacher. Von einem schlankeren Ansatz könnte auch die leistungsstarke, aber ausufernde Container-Orchestrierungsplattform Kubernetes profitieren. Nicht jeder braucht den in der Standard-Distribution enthaltenen, vollständigen Satz an Tools und Funktionen.

Wenn Sie weder Zeit noch das technische Knowhow haben, um Kubernetes für minimalistischere Applikationen anzupassen, haben wir gute Nachrichten für Sie: Die Chancen sind hoch, dass das schon für Sie erledigt wurde. Wir zeigen Ihnen drei besonders schlanke Distributionen, die Kubernetes zu seinen Wurzeln zurückführen.

Minikube

Minikube ist ein offizielles Repackaging von Kubernetes und bietet eine lokale Instanz der Orchestrierungsplattform, die klein genug ist, um sie auf einem Entwickler-Notebook zu installieren. Die Mindestanforderungen von Minikube: 2 GB RAM, zwei CPUs, 20 GB Speicherplatz und ein Container- oder VM-Manager (etwa Docker, Hyper-V oder Parallels). Mac-Benutzer sollten dabei beachten, dass es noch keine M1-Version gibt.

Ein einfaches Minikube-Cluster lässt sich in nur zwei Schritten einrichten und bereitstellen:

  1. Installieren Sie die Minikube-Laufzeitumgebung und

  2. geben Sie minikube start in die Befehlszeile ein.

Alles was nun folgt, ist Standard-Kubernetes-Prozedere, wie Sie es bereits kennen. Um mit einem Cluster zu interagieren, verwenden Sie kubectl.

Minikube-Anwendungsfälle:

  • Viele Entwickler nutzen Minikube als persönliches Entwicklungs-Cluster oder als Docker-Desktop-Ersatz.

  • Ist Letztgenanntes der Fall, erfordert das zum einen, dass Sie die docker-Container-Laufzeitumgebung verwenden und zum anderen, dass Minikube selbst mit einem VM-Treiber statt einer Container-Runtime ausgeführt wird.

  • Zum Lieferumfang von Minikube gehört auch das Web-basierte Kubernetes-Dashboard, mit dem Sie Ihre Cluster jederzeit im Blick haben. Beispiel-Applikationen können mit wenigen Befehlen gestartet werden und lassen sich sogar inklusive Load Balancing bereitstellen.

k3s

Bei k3s handelt es sich um ein Projekt der Cloud Native Computing Foundation, das als "Lightweight Kubernetes" vermarktet wird. Es eignet sich ideal dazu, Kubernetes in Umgebungen mit eingeschränkten Ressourcen auszuführen. Weil k3s sogar in ARM64- und ARMv7-Versionen erhältlich ist, kann die Distribution sogar auf einem Raspberry Pi laufen. Ein wichtiger Punkt ist dabei, dass k3s nicht auf Windows oder macOS läuft, sondern ausschließlich auf modernen Linux-Systemen und Raspberry Pi OS.

k3s benötigt zwischen 512MB und 1GB Arbeitsspeicher, eine CPU und mindestens 4GB Festplattenspeicher für seine Cluster-Datenbank. Für seine interne Datenbank verwendet k3s standardmäßig SQLite. Diese lässt sich bei Bedarf aber durch den herkömmlichen Kubernetes-Standard etcd, MySQL oder Postgres ersetzen.

k3s-Anwendungsfälle:

  • Die winzige Kubernetes-Distribution eignet sich ideal für Edge-Computing- und Embedded-Szenarien sowie für Experimente.

  • Der Kern der k3s-Laufzeitumgebung ist eine einzelne Binärdatei. Diese lässt sich mit minimalen Anpassungen mit einer sinnvollen Standardkonfiguration zum Laufen zu bringen. Der Einrichtungsprozess besteht aus einem einzigen Shell-Befehl, um k3s als Service herunterzuladen und zu installieren. Darüber hinaus können Sie k3s auch ganz ohne Installation ausführen.

  • Der kompakte, schnörkellose Ansatz von k3s bedeutet, dass Sie viele Funktionen manuell über die Befehlszeile hinzufügen müssen. In der zugehörigen Dokumentation finden Sie Hilfestellung, um das Kubernetes-Dashboard oder Docker als Standard-Container-Laufzeitumgebung hinzuzufügen - oder um k3s im "Air-Gapped"-Modus auszuführen.

k0s

k0s aus dem Hause Mirantis wird ebenfalls in einer einzigen Binärdatei ausgeliefert, um das Deployment zu erleichtern. Die Anforderungen an die Ressourcen sind minimal: Ein Knoten benötigt eine CPU und 1 GB RAM. Dabei kann k0s als Cluster, Single Node, in einer Air-Gapped-Konfiguration oder innerhalb von Docker ausgeführt werden. Wenn Sie besonders schnell loslegen möchten, können Sie die k0s-Binärdatei herunterladen und als Service einrichten. Um mehrere Knoten in einem Cluster einzurichten oder zu aktualisieren, empfiehlt sich das Installationswerkzeug k0sctl.

k0s läuft auch unter Windows - derzeit allerdings nur in einer Beta-Version. Eine unerwartet leistungsstarke und standardmäßig enthaltene Funktion ist die automatische Aktualisierung von Clustern nach einem bestimmten Zeitplan. Dabei sorgen Sicherheitsvorkehrungen dafür, Fehler zu vermeiden.

k0s-Anwendungsfälle:

  • Zu den Anwendungsfällen für k0s gehören persönliche Entwicklungsprojekte und erste Deployments, die später erweitert werden sollen.

  • Die Dokumentation von k0s enthält Anleitungen für verschiedene Anpassungen, etwa den Air-Gapped-Modus. Darüber hinaus klärt Sie die Dokumentation auch darüber auf, wie Sie standardmäßig nicht enthaltene Features wie Load Balancing oder Ingress-Controller hinzufügen können.

(fm)

Dieser Beitrag basiert auf einem Artikel unserer US-Schwesterpublikation Infoworld.