Fedora CoreOS – ein cleverer Filzhut für Container Linux

Fedora CoreOS ist eine Linux-Distribution, die als Container-Host zum Einsatz kommt. Sie baut auf CoreOS Container Linux auf und wird aktiv von der amerikanischen Entwicklerfirma Red Hat entwickelt und vertrieben. In der Folge bündelt das System das CoreOS-Container-Linux-System mit den Lösungen von Fedora Atomic Host. Letzteres steuert beispielsweise die Paketierung und die SELinux-Security-Integration.

Hinweis

Das Server-Betriebssystem Fedora ist der direkte Nachfolger von Red Hat Linux. „Fedora“ ist im Übrigen der englische Begriff für den Filzhut, das bekannte Markenzeichen von Red Hat. Das Ziel der Linux-Distribution ist es, ein Betriebssystem für nahezu alle Einsatzgebiete und Zielgruppen zu schaffen. CoreOS Linux wird auch „Container Linux“ genannt – nicht zu verwechseln mit Linux-Containern. Hinter Container Linux steckt nämlich ein eigenständiges Open-Source-Betriebssystem, das Anwendungen in Minimalfunktionen unter Linux laufen lassen kann.

2018 hat Red Hat CoreOS übernommen und mit Fedora CoreOS ein Upstream-System entwickelt, dass das klassische Container Linux ersetzen soll. Ein erstes Versprechen lautet: Fedora CoreOS lässt sich in nur fünf Minuten konfigurieren.

Was ist Fedora CoreOS?

Fedora CoreOS ist eine Linux-Distribution, die für die Arbeit mit Kubernetes optimiert ist und den Fokus auf die Ausführung von containerbasierten Arbeiten richtet. Dafür bietet es einen angenehmen Support aus automatischen Updates und Korrekturen sowie regelmäßigen Sicherheitsupdates.

Als gemeinsames Produkt aus CoreOS und Red Hat besitzt Fedora CoreOS die besten Tools aus beiden Systemen:

  • Das Werkzeug Ignition von Container Linux: Es dient dazu, Festplatten während des Boot-Vorgangs über das Ausgangsdateisystem im Arbeitsspeicher (initial ram filesystem) zu manipulieren, um Container Linux zu starten. In Fedora CoreOS wird es für das Booten und Konfigurieren der Fedora-CoreOS-Images benötigt.
  • Red Hats rpm-ostree: Dieses Paket-Management-System erlaubt, Paketgruppen zusammenzustellen, mit denen man im Anschluss wie mit einem Image als Ganzes arbeiten kann.

Bis hierhin klingt Fedora CoreOS wie ein schlankes Wirtssystem für Software-Container, also im Prinzip wie Docker oder eine Docker-Alternative wie OCI. Die Container lassen sich auch wie in den Container-Klassikern mit Podman oder Moby installieren und verwalten. Fedora CoreOS überzeugt dabei insbesondere durch die Punkte Stabilität und Sicherheit – unter strenger Einhaltung der SELinux-Richtlinien.

Hinweis

Auch rpm-ostree bietet einen eigenen Schutz gegen Angriffe, fehlerhafte Updates oder Pakete: Im Notfall können alle Schritte rückgängig gemacht werden.

Nach einer schnellen, unkomplizierten und flexiblen Installation lässt sich Fedora CoreOS komplett wartungsfrei betreiben. So erfolgen etwa alle nötigen Sicherheitsupdates automatisch. Um hier ungeplante Neustarts des Systems zu verhindern, die im schlimmsten Fall zu Datenverlusten führen können, hat der Administrator trotz allem die Oberhand: Er kann in diese Prozesse eingreifen und, um bei dem Beispiel zu bleiben, einen Neustart zentral für mehrere Systeme steuern.

Installation von Fedora CoreOS

Die Installation von Fedora CoreOS kann entweder direkt auf der Hardware erfolgen oder in virtuellen Maschinen wie VMware, OpenStack und QEMU. Darüber hinaus gibt es auch Cloud-Images von Fedora CoreOS für alle gängigen Anbieter, u. a. für AWS, Microsoft Azure, Google Cloud und Alibaba Cloud.

Eine Installation von Fedora CoreOS läuft auf einem Linux-System standardmäßig im Minimalbetrieb, also nur mit den Anwendungen, die für den Betrieb benötigt werden. Ignition liest beim ersten Boot automatisch die Konfigurationsdatei aus und richtet das System ein. Die in dieser Datei vorhandenen Parameter lassen Ignition wissen, wie das System beschaffen ist. Daraufhin werden Partitionen definiert, Benutzer angelegt und Rechte vergeben – befindet sich die Konfigurationsdatei in einer Cloud, wird hier die Installationsumgebung angepasst. Bei AWS beispielsweise ist die Konfiguration gemeinsam mit dem Betriebssystem enthalten, sodass Fedora CoreOS tatsächlich mit nur einem Klick installiert werden kann.

Auf der eigenen Hardware oder einem eigenen Hypervisor nimmt man die Konfiguration manuell mit dem Kommandozeilen-Tool fcct (Fedora CoreOS Configuration Tool) vor. Zuerst erstellt man hierfür eine YAML-Datei und formatiert sie in JSON. Anschließend erhält die Datei die Endung .fcc (Fedora CoreOS Configuration). In der fertigen .fcc-Datei macht sich der Administrator dann mit dem passenden SSH-Schlüssel erkennbar.

Hinweis

Die Ignition-Datei ist nicht nur für die Installation, sondern auch für die Konfiguration von Fedora CoreOS gedacht: Verzeichnisse und Dateien sowie deren Inhalte können damit spezifiziert werden, sogar direkt bei der Installation.

Sobald das System läuft und man sich über den SSH-Schlüssel angemeldet hat, lassen sich die gewünschten Container ganz normal installieren, z. B. über Podman oder Moby. Fedora CoreOS ist kompatibel mit Docker und Spezifikationen der Open Container Initiative. CoreOS kann aber auch als einzelne Installation betrieben und mit Kubernetes verwaltet werden.

Wo kommt Fedora CoreOS zum Einsatz?

Wie Fedora Atomic Host ist auch Fedora CoreOS als hochverfügbares, sicheres und flexibles Container-Gastsystem im Einsatz. Auch wenn die Installation tatsächlich in fünf Minuten abgeschlossen werden kann, ist die Arbeit mit Fedora CoreOS keinesfalls Einsteigern zu empfehlen. Wer noch keine Erfahrungen im Red-Hat-Universum gesammelt hat, muss zu Anfang eine Menge Geduld mitbringen.

Aber wo genau kommt Fedora CoreOS zum Einsatz? Die Antwort ist: Bei Containersystemen, die wartungsfrei arbeiten sollen. Das ist u. a. essenziell, wenn Serverdienste in Containern betrieben werden, die sich idealerweise auch selbstständig aktualisieren können. Ein gewöhnliches Betriebssystem kann das oft nicht leisten. Fedora CoreOS nimmt den Administratoren diese zeitintensive Arbeit ab und läuft sogar am besten, wenn keine weiteren Eingriffe erfolgen. Die Spielwiese von Fedora CoreOS sind reproduzierbare Server; hier ersetzt das Betriebssystem fortlaufend Pakete und Container durch aktuellere Versionen.

CoreOS – ein letzter Rückblick

Was Fedora CoreOS kann, schaffte CoreOS seinerzeit im Kleinen. Das schlanke Open-Source-Betriebssystem nutzte einen Linux-Kernel und war für die Ausführung von Anwendungen innerhalb von Docker spezialisiert. CoreOS war ebenfalls für den Betrieb von Linux-Containern zuständig und konnte auch Konfigurationen verteilen. 2013 veröffentlicht, schrieb CoreOS schnell Erfolgsgeschichte, deren Höhepunkt der Verkauf an Red Hat für 250 Millionen Dollar war. Am 26. Mai 2020 wurde es als eigenständiges Projekt eingestellt, sodass es offiziell nur noch als Bestandteil von Fedora CoreOS weiterläuft.

Die Vorteile von Fedora CoreOS in der Zusammenfassung

Ein sicheres, flexibles und absolut stabiles System für Container Linux in unter fünf Minuten – diese Punkte machen Fedora CoreOS aus:

  • mit nur wenigen Klicks ist alles konfiguriert,
  • ein Einloggen per SSH, und sofort werden Container installiert,
  • das System arbeitet grundsätzlich völlig selbstständig.

Im Vergleich zum Vorgänger CoreOS sind die Einsatzmöglichkeiten und damit auch das Publikum wesentlich breiter.

Die automatischen Updates werden aber nicht von allen Nutzern als Vorteil angesehen, da befürchtet wird, dass dadurch Prozesse zerstört werden könnten. Allerdings wird jedes Update in einem separaten Prozess sorgsam überprüft: Ein aktuelles Paket wird zunächst im Next Stream, einem Testfeld, das den aktuellen Entwicklungsstand von Fedora CoreOS widerspiegelt, getestet. Entwickler sammeln darin alle kommenden Updates für das Betriebssystem, lassen sie laufen und beobachten die Abläufe. Erst, wenn alles reibungslos läuft, werden die Pakete zum Stable Stream geschickt, woraufhin Fedora CoreOS die Updates zieht und automatisch installiert.