Container-Spielarten in Windows Server 2016 TP4 Docker-Container per Hyper-V sind sicherer

Autor / Redakteur: Thomas Joos / Ulrike Ostler |

Docker-Container innerhalb von Hyper-V unter Windows Server 2016 werden noch mehr abgeschottet als herkömmliche Windows-Server-Container im neuen Betriebssystem. Dadurch wird eine erhöhte Sicherheit und Stabilität erreicht.

Anbieter zum Thema

Windows und Container passen gut zusammen, meint Autor Thomas Joos.
Windows und Container passen gut zusammen, meint Autor Thomas Joos.
(Bild: Mike Linksvayer & zaphad1 - flickr.com / CC0 )

Windows Server Container teilen sich wichtige Bereiche des Betriebssystems mit dem Host und anderen Containern. Dadurch werden sehr schlanke Server-Dienst-Virtualisierungen erreicht. Generell ist es aber durchaus möglich, dass ein Container, oder ein Server-Dienst in einem Container, andere Docker-Container auf dem Host beeinträchtigt.

Das soll mit Hyper-V-Containern verhindert werden. Auch diese Container werden von Microsoft zusammen mit den Docker-Entwicklern erstellt. In Hyper-V-Containern ist jeweils eine eigene Kopie des Betriebssystems integriert. Der Container läuft wiederum in einer Art virtueller Maschine (VM). Sinnvoll nutzbar ist das zum Beispiel mit einem „Nano“-Server. Dadurch können sich Container untereinander nicht beeinträchtigen.

Mit der aktuellen Windows Server 2016 Technical Preview 4 lassen sich Windows Server Container und Hyper-V-Container bereits in der Praxis nutzen. Neben der Integration von Hyper-V-Containern, hat Microsoft auch die Leistung von Windows Server Container verbessert sowie die Zusammenarbeit von Containern mit dem Nano-Server. Alle drei Produkte, Windows Server Container, Hyper-V-Container und Nano-Server, lassen sich gemeinsam betreiben.

Die neue Windows-Server-Container-Technologie hat Microsoft in Windows Server 2016 TP4 um die Hyper-V-Container-Technologie erweitert.
Die neue Windows-Server-Container-Technologie hat Microsoft in Windows Server 2016 TP4 um die Hyper-V-Container-Technologie erweitert.
(Bild: Thomas Joos)

Hochsichere Container-Umgebungen mit Hyper-V

Durch die Virtualisierung von Containern mit Hyper-V werden Container weiter voneinander abgeschottet als bei Windows Server Containern. Sinnvoll ist das für Web-Server oder Cloud-Dienste. Selbst wenn ein solcher Container im Rechenzentrum kompromittiert wird, sind alle anderen Container auf dem Host, genauso wie der Host selbst, sicher vor den Angreifern. Denn der Hyper-V-Container läuft vollkommen isoliert mit eigenem Betriebssystem in einer VM.

Microsoft bietet mit den Hyper-V-Containern auch die Möglichkeit Rechte zu delegieren, zum Beispiel für mandantengestützte Systeme. Hyper-V-Container eines Mandanten können miteinander kommunizieren, während die Container der anderen Mandanten vollständig abgeschottet sind.

Dadurch besteht also die Möglichkeit Container in Gruppen zusammenzufassen. Die Abschottung der Gruppen erfolgt durch Hyper-V in Windows Server 2016. Dadurch erreicht Microsoft eine optimale Isolierung beliebiger Anwendungen, bei gleichzeitiger Gruppierung wichtiger Dienste.

Hochverfügbarkeit für Hyper-V-Container

Da Hyper-V-Container komplett in Hyper-V eingebunden sind, profitieren sie auch von den anderen Vorteilen der Virtualisierung. Die Container lassen sich auf andere Hyper-V-Hosts replizieren, und mit Hyper-V-Clustern absichern.

Auch die Übertragung von Hyper-V-Container auf andere Knoten mit Live-Migration ist problemlos möglich. Dazu kommen Vorteile bei der Steuerung und Verwendung der Hardware. Denn auch die Hardware steht virtualisiert zur Verfügung.

Hyper-V, Windows Server Container, Hyper-V-Container und Nano-Server arbeiten in Windows Server 2016 TP4 zusammen.
Hyper-V, Windows Server Container, Hyper-V-Container und Nano-Server arbeiten in Windows Server 2016 TP4 zusammen.
(Bild: Thomas Joos)

Vollständige Kompatibilität mit Windows Server Container

Die Bereitstellung von Containern erfolgt über ein Image. Dabei spielt es für das Image keinerlei Rolle, ob Administratoren den Container auf einem herkömmlichen oder innerhalb Hyper-V zur Verfügung stellen. Die Images und Container müssen dafür nicht angepasst werden.

Das liegt vor allem daran, dass ein Hyper-V-Container ein ganz herkömmlicher Windows Server Container ist, der in einer Hyper-V-Partition installiert ist. Bei Bedarf lassen sich aus Windows Server Container mit wenigen Schritten Hyper-V-Container erstellen und umgekehrt. Bei der Umwandlung gehen weder Einstellungen noch Daten verloren.

Innerhalb eines Nano-Servers besteht auf diesem Weg also die Möglichkeit Hyper-V-Container zu aktivieren. Die Technik ist aktuell in der TP4 implementiert, aber noch etwas fehlerhaft. Es können also durchaus noch Fehler bei der Einrichtung auftreten. Mit Get-PnpDevice können Administratoren innerhalb eines Hyper-V-Containers eine Auflistung der Hardware anzeigen. Hier ist sofort zu sehen, ob der Container als Hyper-V-Container gestartet ist, da Netzwerk-Adapter und SCSI-Adapter als Hyper-V-Hardware angezeigt werden.

Arbeiten mit Isolierungs-Flag

Um einen Container mit Docker als Hyper-V-Container zur Verfügung zu stellen, setzen Administratoren die Isolierungs-Flag. Der Befehl sieht dann zum Beispiel folgendermaßen aus:

Docker run --rm -it -isolation=hyperv nanoserver cmd

Die Konfiguration lässt sich aber auch mit der Powershell und dem CMDlet Set-Container vornehmen. Mit diesem CMDlet lässt sich ein Windows Server Container zu einem Hyper-V-Container umwandeln. Dazu wird die Option -RunTimeType HyperV verwendet. Mit der Option -RunTimeType Default wird der Container wieder zu einem Windows Server Container umgewandelt.

Es ist also schnell zu erkennen, wie eng Windows Server Container und Hyper-V-Container verbunden sind, da einfache Optionen über die Container-Variante entscheiden.

Windows Server Container und Hyper-Container betreiben

Es besteht auch die Möglichkeit, dass Unternehmen auf einem physischen Host Windows Server Container parallel mit Hyper-V-Container betreiben. Dazu wird auf dem Host Hyper-V installiert.

Neben herkömmlichen Windows Server Containern und Hyper-V-Container, lassen sich auf dem Host auch virtuelle Maschinen erstellen, die wiederum mit den Containern kommunizieren können. Unternehmen erhalten also vollständige Flexibilität. Auch Nano-Server lassen sich auf dem Host betreiben. Damit die Kommunikation funktioniert, muss allerdings auf allen Servern Windows Server 2016 installiert sein.

Windows Server Container lassen sich innerhalb Nano-Server betreiben, auch Hyper-V kann hier mit einbezogen werden. Einfach ausgedrückt heißt das: Alle beteiligten Windows-Bereiche, die mit Containern zu tun haben, können miteinander interagieren. Herkömmliche Installationen von Windows Server 2016 arbeiten genauso mit Containern und Hyper-V-Containern zusammen, wie Core- oder Nano-Installationen von Windows Server 2016.

Der Nachteil von Hyper-V-Containern ist die etwas schlechtere Leistung im Vergleich zu Windows Server Container. Der Vorteil liegt in der besseren Isolierungsmöglichkeit der Container.

Ab TP4 lassen sich Freigaben des Hosts auch in Hyper-V-Containern nutzen, zum Beispiel für die Datenspeicherung oder für Installationsmedien. Die Verwaltung von Hyper-V-Containern kann über die Powershell erfolgen.

* Thomas Joos ist Autor zahlreicher IT-Fachbücher und bloggt für DataCenter-Insider: Toms Admin-Blog

(ID:44400331)