Kubernetes muss nicht mehr aufwändig eingerichtet und das darunter liegende Linux nicht mehr aufwändig optimiert werden – dank „K3OS“ aus dem Hause Rancher Labs.
Das Logo der Linux-Distribution k3os von Rancher.
(Bild: Rancher Labs)
Rancher Labs ist zunächst mal für die gleichnamige Kubernetes-Verwaltung, die den Umgang mit Clustern, Apps, Pods & Co. deutlich vereinfacht. Ebenso bekannt sind sie für die darin verwendete leichtgewichtige(re) Kubernetes-Distribution „k3s“, benannt in Anlehnung an die übliche Kubernetes-Abkürzung „k8s“, die das ganze System in eine einzelne Binary packt.
Darauf basiert auch k3s, das einfach per ISO-Image in einer virtuellen Umgebung oder dedizierter Hardware installiert wird und sofort startbereit ist. Startbereit heißt hier tatsächlich, dass sofort ein Single Node Cluster zur Verfügung steht und Anwendungen installiert werden können.
Das Betriebssystem verfolgt dabei drei Kernziele: Minimales k3s-Kubernetes, Verwaltung über das Standardwerkzeug „kubectl“ und eine Installation, die die einfache Erstellung von System-Images erlaubt. Die Pakete dazu stammen hauptsächlich von „Alpine“, der Kernel von Ubuntu 18.04 LTS.
Reduktion auf das Wesentliche
Als minimalistisches System bietet K3OS freilich keine grafische Oberfläche und generell läuft im System tatsächlich nur, was auch wirklich laufen muss. Entsprechend niedrig sind auch die Systemanforderungen: Ein Gigabyte Arbeitsspeicher genügt für die „lokale“ Installation, wenn Sie also K3OS aus einem laufenden Linux heraus auf einen Datenträger aufspielen; dafür steht ein Skript auf der GitHub-Seite bereit. Die Live-Installation über das ISO-Image benötigt zwei Gigabyte.
Interessant ist vor allem die Struktur des Dateisystems von K3OS, das sich auf folgende Ordner beschränkt:
/etc – Inhalte sind flüchtig
/usr – Read-only, außer /usr/local
/k3os – Systemdateien
/home – persistent
/var – persistent
/opt – persistent
/usr/local – persistent
Jegliche Konfiguration im laufenden Betrieb unter /etc werden also beim Neustart rückgängig gemacht. Permanente Änderungen werden über die Systemdatei /k3os/config.yaml erledigt, die die Systemkonfiguration zur Boot-Zeit festlegt. Entsprechend einfach ist es, bei K3OS mit Einstellungen zu experimentieren.
Und auch das als Kernziel genannte einfache Remastering des ISOs findet sich hier wieder: Sie kopieren – von dem CD-ISO, nicht dem laufenden System – lediglich den Ordner /k3os, passen die GRUB-Konfiguration an und erstellen daraus ein neues startbares ISO mit dem „GRUB“-Notfall-Medium-Ersteller „grub-mkrescue“.
Bei K3OS ist das Drumherum tatsächlich sehr angenehm schlank ausgefallen, es gibt für einen schnellen Start mit Kubernetes-Clustern schlicht so gut wie Null Overhead. Man kann sich also ganz auf die eigentliche Cluster- und App-Verwaltung, also vor allem auf das Programm kubectl und YAML-Konfigurationen konzentrieren.
Auch die Dokumentation ist eher schlank. Die K3OS-Website ist nur eine schicke Weiterleitung zur „Github“-Seite, die alles Wichtige kurz und bündig schildert, vor allem aber auch eine Referenz für die zentrale Konfigurationsdatei config.yaml beinhaltet. In zwei, drei Stunden ließen sich vermutliche alle Inhalte auch praktisch nachvollziehen. Mehr braucht es – vorerst – aber auch gar nicht, die eigentliche Arbeitet wartet schließlich in Kubernetes. Apropos Praxis:
K3OS einrichten
Schneller als mit K3OS ist es derzeit vermutlich nicht möglich, ein komplettes System samt Cluster und Beispiel-App aufzusetzen. Im Folgenden sind alle unbedingt notwendigen Schritte beschrieben, um letztlich eine „Hello-World“-Anwendung im Browser aufrufen zu können. Mit „Virtual Box“ funktioniert K3OS wunderbar, aber Anwender können auch auf Bare Metal arbeiten.
Zunächst wird eine virtuelle Maschine erstellt, vorzugsweise mit mindestens 3 Gigabyte Arbeitsspeicher und 2 CPUs – schließlich brauchen auch die Anwendungen ein paar Ressourcen. Als Netzwerkmodus sollten Admins der Einfachheit halber die Netzwerkbrücke wählen.
Gebootet wird nun vom heruntergeladenen ISO-Image. Nutzer landen auf der Kommandozeile und können sich mit dem Nutzernamen „rancher“ anmelden, ein Passwort ist nicht gesetzt.
Die Installationsroutine startet mit „sudo k3os install“. Es folgen einige Abfragen, bei denen zwei etwas Aufmerksamkeit verlangen: Zum einen sollten die Frage verneint werden, ob ein „cloud init file“, also eine Konfiguration aus der Cloud verwendet werden soll. Auch den SSH-Zugriff für Github-Nutzer ist besser zu verweigern, da zumindest in der hier genutzten Version (v0.10.1-rc1), der Prozess sonst abbricht. Das wiederum führt dazu, dasssich kein Passwort generieren lässt, welches aber beim nächsten Login benötigt wird.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Ist das Passwort vergeben, starten kann die VM starten. DieAnmeldung erfolgt wieder mit dem Nutzer „rancher“.
Zum Testen, ob das System läuft, ist „kubectl get all“ einzugeben.
Nun können Admins eine Beispielanwendung installieren, eine schlichte „Website“ mit dem Text „Hello Kubernetes!“. Installieren wird mit ...
Zum Aufrufen des Service wird die externe IP sowie der Port benötigt; beides bekommt der folgende Befehl:
kubectl get services my-service
Nun können die installierte und exponierte Anwendung im Browser des Hosts (daher die Netzwerkbrücke) oder auch direkt auf der Kommandozeile aufgerufen werden, ein einfaches ...
curl http://192.168.178.100:8080
... genügt, um die Ausgabe „Hello Kubernetes!“ zu triggern.
So ein K3OS-Kubernetes-Cluster ist schnell aufgesetzt und sofort einsatzbereit – aber es fehlt eine grafische Oberfläche für das System und soweit auch für Kubernetes. Die nächst zügige Alternative ist vermutlich der Einsatz von Rancher auf einem ganz normalen Linux, vorzugsweise ein aktuelles „Ubuntu“. Rancher bietet eine komfortable Web-Oberfläche und darin auch eine „kbctl“-Konsole für die native Steuerung.
K3OS hat das Licht der Welt am 16. April 2019 als Version v0.1.0 erblickt und steht seit Kurzem als v010.1 zum Download zur Verfügung. Es ist also noch ein sehr junges Projekt. Und so regelrecht verblüffend einfach der Einsatz eines Clusters mit K3OS ist, so zeigt ein Blick in die Issues-Pipeline auf Github, dass durchaus noch Arbeit wartet.
Ein Blick in das Netz zeigt aber auch, dass das Interesse an K3OS groß ist. Das liegt vermutlich daran, dass K3OS Zeit und/oder Know-How einsparen könnte. Derzeit ist K3OS jedenfalls die wohl einfachste Möglichkeit, einen Cluster in Betrieb zu nehmen, und langfristig ein sehr spannendes Projekt, das sich im Auge zu behalten lohnt.