gjp311 - stock.adobe.com
Container mit Nested Virtualization in einer VM betreiben
Es ist möglich, Container in VMs laufen zu lassen. Das hat Vorteile, es gibt aber auch Grenzen. Administratoren sollten sich vorher genau informieren, was machbar ist.
Sie können einen Container mit Nested Virtualization (Deutsch: Verschachtelte Virtualisierung) in einer VM laufen lassen. Die zusätzliche Komplexität führt aber möglicherweise zu Problemen in der virtuellen Umgebung. Ein Beispiel wäre Inkompatibilität der Instanz.
Container sind eine Form von Virtualisierung, die einige Ähnlichkeiten zu den herkömmlichen virtuellen Maschinen (VM) haben, die auf Hypervisoren basieren. In einigen Schlüsselbereichen unterscheiden sie sich aber. Der hauptsächliche Unterschied zwischen einem Container und einer VM ist, dass virtuelle Maschinen komplett voneinander isoliert laufen. Jede VM braucht ein separates und komplettes Betriebssystem inklusive Treiber. Das bedeutet, dass virtuelle Maschinen meist große Instanzen sind, die viele Ressourcen brauchen.
Im Vergleich dazu teilen sich Container einen darunterliegenden Kernel des Betriebssystems, dafür ist die Isolation aber schwächer. Allerdings sind die Instanzen kleiner und brauchen weniger Ressourcen. Sie lassen sich auch schneller stoppen und wieder starten.
Container gelten bei der Virtualisierung als flexibler und skalierbarer. Container-Plattformen wie zum Beispiel Docker bieten native Virtualisierung, die von Containern genutzt wird.
Einen Container in einer VM laufen lassen
Hypervisoren und Container-Plattformen schließen sich nicht unbedingt aus. Es ist sehr wohl möglich, virtuelle Maschinen und Container simultan auf dem gleichen Host-System laufen zu lassen. Es ist auch machbar, eine Container-Plattform zu installieren und einen Container in einer VM-Instanz zu betreiben. Das nennt sich Nested Virtualization. Sie können zum Beispiel Linux und Docker auf einer Hyper-V-VM unter Windows Server installieren und in der VM dann Linux-Container laufen lassen.
Für jede Regel gibt es die Ausnahme. Die aufstrebende Container-Plattformen Docker für Windows ist zum Beispiel bekannt dafür, Probleme in einigen VMs zu bereiten. Das sind unter anderem Parallels, das auf einem Computer mit Windows 10 installiert ist und VMware Fusion auf einem Mac. Die Hypervisoren virtualisieren die Hardware anders als Microsoft Hyper-V, das bei Plattformen der Enterprise-Klasse wie zum Beispiel Windows Server 2016 zum Einsatz kommt. Die Unterschiede können spontane Störungen zur Folge haben, die sich allerdings schwer voraussagen lassen.
Es sollte komplett in Ordnung sein, einen Container in einer VM einer Plattform der Enterprise-Klasse auszuführen. Ein Beispiel wäre Docker unter Hyper-V. Allerdings ist es Best Practice, die Container-Plattform direkt auf einem Computer-Endgerät wie einem PC laufen zu lassen. Zum Beispiel könnten Administratoren Docker für Windows nativ auf einem Windows-System oder Docker für Mac auf einem Mac-System betreiben.
Müssen Sie verschachtelte Virtualisierung auf einem Computer-Endgerät nutzen, stellen Sie sicher, dass Nested Virtualization auch aktiviert ist. Weiterhin müssen Sie für adäquate System-Ressourcen sorgen, damit die Workload ausreichend versorgt ist. Außerdem sollten Sie in der Lage sein, alle aktuellen Patches und Updates für das Betriebssystem einspielen zu können. Ältere Prozessoren reagieren vielleicht sensibler auf die Performance von Nested Virtualization als aktuelle, die mehr Möglichkeiten für die Virtualisierung der Hardware bieten.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!