Test: Das Photon-Betriebssystem von VMware glänzt für Docker-Container

Mit dem Open Source-Projekt Photon hofft VMware, eine Community aufzubauen, die sich mit der Ausführung von containerisierten Anwendungen in virtuellen Umgebungen befasst. Photon ist ein Überbegriff für mehrere Projekte, der Möglichkeiten zum Bereitstellen von Containern auf einer VM unter Verwendung von Photon OS sowie zum Bereitstellen von Containern als VMs in der VMware-Infrastruktur umfasst.

Photon OS ist ein Linux-Container-Host mit geringem Platzbedarf, der auf virtuellen Maschinen ausgeführt und auf VMware-Hypervisoren optimiert wurde. VMware hat die Docker-Bewegung sicherlich in großem Maße angenommen, nicht nur bei VMware. Sie können Photon OS auf anderen Hypervisoren ausführen, einschließlich Google Compute Engine und Amazon EC2. Sie können Photon OS jedoch nicht auf einem physischen Server installieren.

Photon OS macht keine Annahmen über das Container-Toolset, obwohl Docker standardmäßig installiert ist. Mit dem Photon-Paketmanager können Administratoren Containerverwaltungstools ihrer Wahl über das Basisbetriebssystem legen.

Verwaltung des Photon OS-Systems

Unter Photon OS erfolgt die Paketverwaltung mit TDNF (Tiny Dandified Yum), einer Open-Source-VMware-Erstellung, die eine DNF-kompatible Paketverwaltung ohne den großen Python-Footprint von Yum bietet.

VMware bietet eigene Yum-kompatible Repositorys zum Verwalten von Paketen und signiert Pakete mit GPG-Signaturen (GNU Privacy Guard). Dies hilft, das System standardmäßig sicher zu machen. Die Signaturüberprüfung erfolgt automatisch, sodass Systemadministratoren oder Skripts keine zusätzlichen Schritte benötigen. Die Photon OS-Repositorys sind "kuratiert". Erwarten Sie also nicht, dass jedes Paket zum Download verfügbar ist.

Da Photon OS 1.0 Revision 2 mit einer älteren Version von Docker geliefert wird, wollte ich zunächst ein Update versuchen. Dies verlief einwandfrei und innerhalb einer Minute liefen alle meine Container auf der neuesten Version von Docker.

Photon OS verwendet das Systemd-Init-System, sodass Administratoren diese Art der Systemverwaltung erlernen müssen, sofern dies noch nicht geschehen ist. Sicherheit steht im Mittelpunkt, und das System enthält SE Linux, um die Containerisolation zu verbessern. Eine Firewall (iptables) ist standardmäßig aktiviert, und Pakete von externen Schnittstellen (außer SSH-Verkehr) werden verworfen, sodass Administratoren Regeln hinzufügen müssen, um Verkehr von der Außenwelt zuzulassen.

Meistens störte diese Standardsicherheit nicht, außer wenn das Root-Passwort bei der Neuinstallation obligatorisch geändert wurde. Jeder Fehler wirft den Benutzer aus der Shell und zurück in eine Anmeldeaufforderung. Dieser Teil hätte etwas benutzerfreundlicher sein können.

Installation und Konfiguration von Photon OS

Ich habe Photon OS mit der herunterladbaren virtuellen Maschine installiert. Wie zu erwarten war, war dies bei meinem VMware Workstation Pro-Setup problemlos. Das System hat den Download erkannt, gefragt, ob ich die Hardwareparameter akzeptieren möchte, und sofort gestartet. Photon OS ist auch als ISO und als Images für die Amazon- und Google-Clouds verfügbar. Nachdem ich mich als root angemeldet und kennwortlose Anmeldungen konfiguriert hatte, war ich ausgeschaltet und lief.

Die minimale Installation enthält, wie andere Linux-Container-Hosts, fast nichts, auch nicht sudo, obwohl sie SSH enthält. Administratoren, die Flotten von Photon OS-VMs bereitstellen, möchten das Setup per Skript ausführen. Zu diesem Zweck verwendet Photon OS Cloud-Init, eine Reihe von Python-Skripten und -Dienstprogrammen, um die Cloud-Bereitstellung und -Konfiguration zu vereinfachen.

Selbst für ein Betriebssystem für Docker-Container war das Einrichten von Photon OS so einfach wie es nur geht. Es scheint, dass es für Docker die „Hallo Welt“ ist, Nginx in einem Container zum Laufen zu bringen. Hier ist es auf Photon OS:

# systemctl start docker

# systemctl enable docker

# docker run –d –p 80:80 vmwarecna/nginx

Speicherung und Vernetzung von Photon-Betriebssystemen

Dank der Ausführung in einer virtualisierten Hardwareumgebung sehen Speichergeräte wie normale Hardware aus, und Standard-Dateisystemvorgänge sind in Photon OS verfügbar. Sie können dem Computer eine neue (virtuelle) Festplatte hinzufügen und diese wie jede andere Festplatte dort bereitstellen, wo sie benötigt wird. Das Photon OS-Dateisystem enthält Btrfs und Ext4. Das Standard-Root-Dateisystem ist Ext4. Es gibt nur wenige Beispiele für Btrfs, und Ext4 scheint zu dominieren.

Der Remotespeicher wird von Photon NFS-Dienstprogrammen verwaltet. Keines der anderen containerorientierten Linuxes, die ich verwendet habe (Alpine, RancherOS, CoreOS und Atomic Host), enthielt Anweisungen für NFS. Daher war ich froh zu sehen, dass VMware die Praxis dokumentiert hat. NFS ist in Unternehmensumgebungen noch am Leben und in Betrieb, und ich gehe davon aus, dass das Mounten von NFS-Laufwerken ein häufiger Anwendungsfall für Benutzer von Photon OS sein wird.

Die einzige ungewöhnliche Speicheroption in Photon OS ist die Auswahl von schreibgeschützten oder schreibgeschützten Dateisystemen. Dies hängt jedoch wirklich vom Anwendungsfall ab, und ich war froh, die Wahl zu haben.

Für die Vernetzung in Photon OS werden die Dienstprogramme iproute2 verwendet, obwohl die traditionellen Befehle ipconfigund netstatBefehle enthalten sind. Photon OS-Installationen enthalten standardmäßig keine Containernetzwerkkonfiguration, es werden jedoch viele gängige Konfigurationen dokumentiert: Docker, Rocket, DCOS usw. Aus Netzwerksicht ist Photon OS wie jede andere Linux-Variante und es gab keine Überraschungen.

Photon OS Upgrades und Downgrades

Wie der Atomic Host von Red Hat verwendet Photon OS rpm-ostree als hybrides Image- / Paketverwaltungssystem mit einem eigenen OSTree-Server. Das Verständnis der Befehlssätze, der Terminologie und der Best Practices von rpm-ostree wird einige Zeit in Anspruch nehmen. Administratoren müssen nicht nur neue Befehle lernen, sondern auch schreibgeschützte Verzeichnisse kennen und sicherstellen, dass Anwendungen keine Dateien in diese schreiben. Beispielsweise ist das Verzeichnis / usr bei Verwendung von rpm-ostree schreibgeschützt. Das rpm-ostree-Profil ist eine Option zur Installationszeit, sodass Benutzer für die Paketverwaltung zwischen TDNF und rpm-ostree wählen können. Die Dokumentation zu diesem Thema ist gut.

Bei der Entwicklung von Photon OS konnte VMware alle Arten von Legacy-Modulen aus dem Linux-Kernel entfernen. Da VMware den gesamten Hardware- und Betriebssystemstapel steuert, konnte es auch Puffer, Zeitabrechnung und Kompilierungsflags optimieren, um Redundanzen zwischen Containerlaufzeit und Hypervisor zu beseitigen. Für Unternehmen, die in die VMware-Virtualisierung investieren, sollte das Photon-Projekt ganz oben auf der zu untersuchenden Liste stehen.