Es ist schwierig, innerhalb der guten Vorzüge von Red Hat zu bleiben und dennoch die Systemlebensdauer zu planen ...
Ich bin seit über einem Jahr ein Befürworter von Linux Containers (LXC) . Meine anfänglichen Installationen basierten auf Informationen aus Online-Tutorials wie diesem und diesem . Diese zentriert um die lxc-create
, lxc-start|stop
und lxc-destroy
Befehle und die Änderung bestehender OpenVZ - Vorlagen .
Das funktioniert gut und läuft gut in der Produktion. Ich rufe jedoch einige zusätzliche Systeme auf und entscheide mich, Red Hats aktuelle Dokumentation zu Containern in EL6 zu überprüfen. Ich war überrascht, ihre offizielle Haltung dazu zu sehen.
In Bietet RHEL 6 LXC-Tools, die für die Verwendung von Linux-Containern erforderlich sind? , Red Hat beschreibt LXC als Technologie-Vorschau und schlägt die Verwendung von libvirt zur Verwaltung der Erstellung und Verwaltung von Containern vor .
Dennoch befürwortet Oracle eine völlig andere Containerisierungstechnik für sein Unbreakable Linux.
Die libvirt-Methode scheint einige fehlende Funktionen zu haben, aber meine anfängliche Vorgehensweise mit lxc- * -Befehlen war ein bisschen manuell ... Ich kann nicht genau sagen, was richtig ist oder welche "akzeptierten" Mittel zum Verwalten von Containern auf EL6 verwendet werden .
- Was ist die übliche Weisheit in Bezug auf LXC- und RHEL-ähnliche Systeme heute?
- Wie setzen Sie sie in Ihrer Organisation um?
- Gibt es irgendwelche Vorteile für einen Ansatz gegenüber dem / den anderen?
- Können diese koexistieren?
Antworten:
Persönlich finde ich das aktuelle Setup etwas mangelhaft. LXC scheint mehr im Vordergrund zu stehen - sicherlich mehr gepflegt.
In Bezug auf das Anbieten als Virtualisierungsoption bin ich nicht. Ich finde das aktuelle technologische Setup mangelhaft.
Ich finde es jedoch sehr schön, wenn es darum geht, Anwendungen einzudämmen. Wir verwenden Namespaces und Cgroups direkt, um Netzwerk- und IPC-Ressourcen für bestimmte vom Benutzer ausgeführte Webanwendungen zu enthalten. Wir bieten eine eigene Schnittstelle zur Steuerung an. In RHEL7 erwäge ich, diese Funktionalität in
libvirt-lxc
die neueren Versionen derlibvirt
Unterstützung des Konzepts der Benutzer-ACLs zu verlagern.Für die Virtualisierung in Bezug auf ein vollständig initialisiertes System warte ich auf das, was in RHEL7 angeboten wird, aber ehrlich gesagt bin ich der Meinung, dass wir eine ausreichend gute Lösung erst sehen, wenn wir eine spätere kleinere Version von RHEL7 haben und dann vielleicht nur auf einem Technologie-Vorschau-Status.
Behalten Sie
systemd-nspawn
etwas im Auge, das mir in den nächsten 18 Monaten mitgeteilt wird, oder so, es könnte sein, dass es das beste Werkzeug für eine vollständig in Linux enthaltene Virtualisierung ist, sei es, dass die Autoren des Systems klarstellen, dass es momentan nicht sicher ist! Ich wäre nicht überrascht, wennlibvirt
Tropfenlibvirt-lxc
irgendwann und bietet nur einen Wrappersystemd-nspawn
mit systemd Scheiben definiert.Seien Sie auch vorsichtig, dass in den letzten 6 Monaten viel darüber geredet wurde, cgroups als Kernel-Programmierschnittstelle und nicht als Dateisystemschnittstelle neu zu implementieren (vielleicht unter Verwendung von Netlink oder etwas, das nicht überprüft wurde), weshalb systemd sehr heiß sein sollte auf dem Schwanz, das sehr schnell richtig zu machen.
Ich denke, die LXC-Option (nicht libvirt-lxc) ist besser gepflegt. Den
libvirt-lxc
Quellcode gelesen , fühlt es sich gehetzt. Traditionelles LXC hat sicherlich neuere Funktionen, die besser getestet wurden. Für beide ist ein gewisses Maß an Kompatibilität erforderlich, damit das Init-System in ihnen ausgeführt werden kann. Ich vermute jedoch, dass LXC etwas "schlüsselfertiger" ist als dielibvirt-lxc
Option, insbesondere wenn es darum geht, Distros zum Laufen zu bringen.Sicher, denken Sie daran, dass beide in jeder Hinsicht dasselbe tun. Organisieren von Namespaces, Cgroups und Mount-Punkten. Alle Primitive werden vom Kernel selbst behandelt. Beide
lxc
Implementierungen bieten lediglich einen Mechanismus für die Anbindung an die verfügbaren Kerneloptionen.quelle
Red Hat macht einen enormen Containerisierungsschub. Sie bauen ein ganz neues Produkt, Red Hat Enterprise Linux Atomic Host , darauf auf.
Für einen weniger radikalen Ansatz schauen Sie sich das RHEL7 Beta Resource Management und Linux Containers Guide an . Sie werden bemerken, dass es libvirt-lxc pusht und die lxc-Tools nicht erwähnt.
quelle
Die ausführbaren lxc- * -Dateien sind im lxc- Paket in EPEL enthalten . Es ist jedoch die alte "Long Term Support" -Version. Sie haben nicht einmal die Option "-f" in lxc-ls. Ich würde einfach Ubuntu für meine LXC-Hosts installieren.
Die RHEL-Methode zur Verwaltung von LXC scheint über libvirt-lxc zu erfolgen, ist aber anscheinend veraltet .
Es wird darauf hingewiesen, dass Ubuntu viele der neuen lxc / lxd-Entwicklungen unterstützt, während sich Redhat auf KVM und Docker konzentriert.
quelle