Linux-Container und VMs auf einer gemeinsamen Plattform Container mit Proxmox VE betreiben

Von Thomas Joos 5 min Lesedauer

Anbieter zum Thema

Proxmox ist nicht nur geeignet für das Betreiben von VMs, sondern kann parallel auch Container bereitstellen. Hierfür bietet Proxmox in der Weboberfläche dann auch gleich die passenden und einfach zu bedienenden Verwaltungsmöglichkeiten.

In der Weboberfläche von Promox können Container konfiguriert werden.(Bild:  Joos - Proxmox)
In der Weboberfläche von Promox können Container konfiguriert werden.
(Bild: Joos - Proxmox)

Promox nutzt für den Betrieb von Containern Linux-Container (LXC). Container teilen sich den Kernel des Hostsystems, was den Bedarf an Ressourcen reduziert und direkten Zugriff auf Systemressourcen ermöglicht. LXC können in Proxmox VE Cluster-Einrichtungen sowie Netzwerk- und Speicherressourcen mit virtuellen Maschinen gemeinsam nutzen. Die Proxmox Container-Technologie zielt darauf ab, die Vorteile virtueller Maschinen zu bieten, ohne deren Overhead. Dennoch ist ein gemeinsamer Betrieb auf den gleichen Servern möglich.

Einschränkungen und Sicherheitsaspekte

Container sind in Proxmox auf die Ausführung von Linux-Distributionen beschränkt. Sind andre Betriebssysteme notwendig, kann man parallel immer noch auf eine VM setzen. Um ressourcenschonende Lösungen zu erstellen, ist es beim Einsatz von Windows zum Beispiel möglich, Windows Server als Core-Installation mit Proxmox als VM zu betreiben. Sicherheitsmechanismen wie separate Namespaces und eingeschränkte Systemaufrufe schützen das Host-System vor unautorisiertem Zugriff durch den Container. Proxmox nutzt AppArmor und Seccomp zur Verbesserung der Sicherheit und Kontrolle über die Container. Die Isolation ist jedoch nicht so stark wie bei vollständig virtualisierten Umgebungen, was bei der Bereitstellung in unsicheren Umgebungen berücksichtigt werden sollte.

Bildergalerie

Das „Proxmox Container Toolkit“ (pct) erleichtert die Verwaltung von Containern durch abstrahierende Schnittstellen. Die Integration in die Proxmox VE GUI und die Möglichkeit, über die REST API auf Container-Funktionen zuzugreifen, erleichtern die Handhabung erheblich. Funktionen wie das Proxmox VE Firewall-Management und der Einsatz in hochverfügbaren Clustern werden ebenfalls unterstützt.

Unterstützte Distributionen und Image-basierte Bereitstellung

Proxmox VE stellt Templates für verschiedene Linux-Distributionen bereit, darunter Alpine Linux, Arch Linux, verschiedene RHEL-Derivate und Ubuntu. Diese Templates sind als Tar-Archive verfügbar, die alle notwendigen Komponenten enthalten, um einen Container zu starten. Container und Vorlagen können über die GUI oder das Kommandozeilenwerkzeug pveam heruntergeladen und verwaltet werden.

Anwendungsfälle und spezielle Einstellungen

Die Einrichtung spezifischer Netzwerkkonfigurationen, die Verwendung von System- und Bind-Mounts sowie die Konfiguration von CPU- und Speicherressourcen sind durch das Container-Management-Tool pct flexibel gestaltbar. Unprivilegierte Container nutzen Benutzernamensräume für eine erhöhte Sicherheit, während privilegierte Container für vertrauenswürdige Umgebungen zur Verfügung stehen. Weiterhin sind Anpassungen wie CPU-Limitierungen und Netzwerk-Konfigurationen direkt während des Betriebs machbar.

Docker und LXC mit Proxmox

Während es sich bei LXC um Systemcontainer handelt, kommen Docker-Container vor allem als Anwendungscontainer zum Einsatz. Um Docker parallel zu nutzen, kann bspw. eine VM zu erstellt und Docker darauf betrieben werden. LXC-Container laufen dagegen nativ direkt mit Proxmox, ohne den Umweg, einen Container-Host installieren zu müssen.

Container auf Proxmox installieren: Templates vorbereiten

Sobald Proxmox eingerichtet ist, lassen sich über die Weboberfläche Templates für Container aus den Repositories herunterladen und danach Container erstellen. Parallel dazu kann das Terminal-Tool „pct“ verwendet werden. Das ist aber nicht notwendig. Container bauen auf Templates auf. Daher besteht der erste Schritt immer darin, zu überprüfen, ob das entsprechende Template auf Proxmox verfügbar ist. Über einen Klick auf den Servernamen und dann auf „local<Servername>“ werden auf der rechten Seite bei „Container-Templates“ über die Schaltfläche „Templates“ die zur Verfügung stehenden Vorlagen für Container angezeigt. Auf Basis dieser Vorlagen lassen sich neue Container erstellen. Hier ist es auch möglich, das Suchfeld zu nutzen.

Für die Erstellung eines Containers können nur die Vorlagen verwendet werden, die auf den Server heruntergeladen wurden. Steht das Template noch nicht zur Verfügung, muss dieses erst heruntergeladen werden, bevor die Installation eines Containers auf Basis dieser Vorlage erfolgen kann.

Nach dem Download zeigt Proxmox den erfolgreichen Download an. Außerdem ist das heruntergeladene Image im Fenster bei „Container-Templates“ zu sehen. Einmal heruntergeladene Images lassen sich mehrfach verwenden, es sind keine weiteren Downloads notwendig.

Container auf Proxmox erstellen

Um mit Proxmox Container zu erstellen, klickt man oben rechts auf die Schaltfläche „Erstelle CT“. Danach startet ein Assistent, mit dem sich Container erstellen lassen. Hier stehen aber nur die Images zur Verfügung, die zuvor auf den Server heruntergeladen wurden. Wie bei der Erstellung von VMs wählt man auf der ersten Seite den Proxmox-Server aus und legt die ID des Containers fest, ähnlich wie bei VMs.

Jetzt Newsletter abonnieren

Täglich die wichtigsten Infos zu RZ- und Server-Technik

Mit Klick auf „Newsletter abonnieren“ erkläre ich mich mit der Verarbeitung und Nutzung meiner Daten gemäß Einwilligungserklärung (bitte aufklappen für Details) einverstanden und akzeptiere die Nutzungsbedingungen. Weitere Informationen finde ich in unserer Datenschutzerklärung. Die Einwilligungserklärung bezieht sich u. a. auf die Zusendung von redaktionellen Newslettern per E-Mail und auf den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern (z. B. LinkedIn, Google, Meta).

Aufklappen für Details zu Ihrer Einwilligung

Auf der nächsten Seite „Template“ sind die Images zu sehen, die auf dem Server verfügbar sind. Auch die Auswahl des Speichers für die Installation des Containers wird hier ausgewählt. Im Rahmen der Einrichtung von Containern erfolgt die gleiche Konfiguration, wie bei VMs. Im Assistenten können Datenträger, CPU, Speicher, Netzwerk, DNS und weitere Einstellungen festgelegt werden. Da Proxmox keinen Container-Host benötigt, lassen sich an dieser Stelle die gleichen Ressourcen nutzen wie bei VMs.

Container stehen in der Weboberfläche genauso zur Verfügung, wie VMs. Durch einen Klick auf „Console“ kann auf die Shell des Containers zugegriffen werden. Über das Kontextmenü des Containers startet man die Umgebung, wenn sie nicht automatisch startet. Auch das ist ähnlich zur Verwaltung von VMs.

Über das Kontextmenü eines Containers lässt sich dieser klonen. Außerdem kann man mit „Konvertiere zu Template“ einen Container mit allen seinen Einstellungen als Template speichern. Beim Erstellen von neuen Containern steht dieses Template anschließend zur Verfügung. Das ermöglicht die schnelle und einfache Bereitstellung mehrerer Container auf einmal.

Container verwalten und optimieren

Nach einem Klick auf einen Container sind auf der rechten Seite des Fensters verschiedene Menüpunkte verfügbar, genauso wie bei VMs. Wie bei VMs sind bei „Übersicht“ die aktuelle Auslastung der Ressourcen des Containers und dessen grundlegende Einstellungen zu sehen. Die Ressourcen selbst kann man über den Menüpunkt „Ressourcen“ bearbeiten.

Um mit dem Netzwerk zu kommunizieren, können Container auf die gleichen Ressourcen des Proxmox-Servers zugreifen wie VMs. Wichtig sind an dieser Stelle die Einstellungen bei den Menüpunkten „DNS“ und „Netzwerk“ sowie „Firewall“, um den Netzwerkzugriff auf und vom Container zu steuern. Über den Menüpunkt „Backup“ können Admins Schnappschüsse des Containers erstellen. Über den Menüpunkt „Snapshots“ sind diese Snapshots verfügbar. Außerdem ist es an dieser Stelle möglich, Rollbacks von Containern auf Basis der Snapshots durchzuführen. Um den Zugriff auf Containern festzulegen, steht der Menüpunkt „Rechte“ zur Verfügung. Hier können Admins auf Basis von Benutzerkonten oder auch von Gruppen Rechte zu vergeben.

(ID:50093232)