Container mit der Powershell verwalten: Teil 1

20. November 2016

Container bieten den Systembetreuern, Software-Entwicklern und Mitarbeitern in den Unternehmen viele Vorteile im Vergleich zur „klassischen“ Virtualisierung: Durch den Verzicht auf einen eigenen (Windows-) Kernel lassen sich die Workloads in diesen Containern zügig bereitstellen und verwalten. Denn die Dateigröße dieser Einheiten wird auf diese Weise sehr gering gehalten. Um einen Container „zum Laufen zu bringen“ sind zwar einige Schritte nötig, aber dies lässt sich in relativ kurzer Zeit erledigen. Besonders effizient können die Systembetreuer mit dieser Technologie arbeiten, wenn sie zur Verwaltung auf die Windows-Powershell setzen.

 

Falls die Entwicklungsabteilung schnell eine neue Variante ihrer Software testen, oder die aktuelle Version der Anwendungssoftware starten möchte, sollte dies möglichst zügig zu erledigen sein. Unflexible Lösungen, wie etwa das komplette „Neuaufsetzen“ eines physikalischen Servers, mit dem aktuellen Betriebssystem, den benötigten „Runtimes“ sowie der Installation der neuesten Anwendungsversion, verringert die Produktivität maßgeblich. Denn eine solcher „Rattenschwanz“ aus Vorarbeiten dauert unter Umständen stundenlang

Schneller ist dies durch den Einsatz von Virtualisierungstechnologie machbar. Aber auch bei den typischen Hypervisoren – wie etwa ESXi oder Hyper-V – kommen die Systembetreuer nicht umhin, einen gewissen Aufwand zu betreiben. Zwar müssen bei diesen Lösungen nicht zwingend für jede virtuelle Maschine (VM) ein eigenes Betriebssystem (OS) „installiert“ werden, da diese meist schon als entsprechende Vorlage verfügbar sind. Trotzdem müssen die einzelnen VMs meist kopiert, in den entsprechenden Hypervisor integriert, gestartet und gegebenenfalls noch mit den benötigten Laufzeitumgebungen bestückt, und schließlich noch die benötigten Applikationen aufgespielt werden.

Deutlich schneller und effizienter gestaltet sich dies, wenn die Systembetreuer nur noch einen entsprechenden Container mit den benötigten Applikationen „einklinken“ müssen, und die integrierten Workloads bereits nach einer kurzen Startzeit „online“ – und somit nutzbar sind. Für diese Container-Technologie sind inzwischen unterschiedliche Lösungen verfügbar. Als „Vorreiter“ ist hier die Open-Source-Lösung „Docker“ zu nennen, diese ist auch unter Windows Server 2016 installier- und nutzbar. Zusätzlich sind in der aktuellen Server-Betriebssystem-Version die etwas veränderten „Hyper-V-Container“ integriert. Diese sollen die Sicherheit in kritischen Umgebungen erhöhen, denn ähnlich wie bei „klassischen“ Virtualisierung-Technologien verfügt jeder Hyper-V-Container über einen eigenen Betriebssystem-Kernel.

Container mit der Powershell erstellen

Um Windows-Container unter Server 2016 zu nutzen, müssen die benötigten Komponenten zunächst installiert werden, Dies ist etwa über den Servermanager möglich (Windows Features installieren), hier können die Systembetreuer über den Menüpunkt „Container“ alle benötigten Dateien auf das jeweilige Server-Betriebssystem aufspielen. Dies mit dem folgenden Cmdlet schneller mit Hilfe der Powershell möglich:

Install-WindowsFeature Containers

Zusätzlich muss nun noch „Docker“ aktiviert werden. Dies ist etwa mit folgenden Cmdlet möglich:

Install-Module -Name DockerMsftProvider -Repository PSGallery -Force

Nun kann die aktuelle Version von Docker bezogen und aktiviert werden:

Install-Package -Name docker -ProviderName DockerMsftProvider

Im Anschluss daran prüfen die Systembetreuer das Betriebssystem noch auf den aktuennen Stand, und installieren gegebenenfalls noch die entsprechenden Windows-Updates. Danach sollte das System sicherheitshalber neu gestartet werden. Nun stehen weitere Cmdlets zur verwaltung von Docker und den Containern zur verfügung. Den Anfang macht dabei dder befehl „Docker Run“. Damit können die Systembetreuer beispielsweise standardmässige Vorlagen beziehen, bereitstellen und starten.

Zusammenfassung

Weitere Informationen finden die Systembetreuer auf der entsprechenden Microsoft-Seite. Funktionen wie etwa das Anzeigen aktueller Status-Informationen, oder zur lokalen Administration mit Hilfe von „Powershell Direct“ oder dem Software-Installationsvorgang oder zu Remote-Konfiguration werden in den kommenden Teilen dieser Beitragsreihe näher beleuchtet.

Florian Huttenloher

Lesen Sie auch