Erledigt Updates und Patches für Windows Server Core (2016/2019)

Hallo Zusammen,

benötige wieder einmal eure Hilfe.

Frage:
Wie kann man einen Windows Server Core mit Updates und Patches versorgen?

Ich finde dazu nicht wirklich etwas brauchbares im Netz. Die Anleitungen dazu auf diversen Microsoft Seiten funktionieren zumindest in meinem Umfeld definitiv nicht.
Ausserdem möchte ich den Server Core mit dem Windows Admin Center verwalten. Ich kann den Server per IP hinzufügen, aber alle Anmeldungen mit User und Passwort werden abgelehnt. Obwohl der User existiert und das Passwort korrekt eingegeben wurden.
Danke wie immer für eure Unterstützung und ich wünsche allen einen entspannten Tag
 
Zuletzt bearbeitet:
Hallo Zusammen,

die nachfolgende Antwort auf meine Anfrage bei der Reaktion des ct-Magazins will ich euch nicht vorenthalten:
-----
Guten Tag,

manchmal muss man etwas um die Ecke denken, um zum Ziel zu kommen. Die Antwort auf Ihre Fragen: Man aktualisiert das Betriebssystem im Container nicht!

Sicherlich könnte man in einem Container mit Skripten hantieren und Updates auslösen. Aber diese Änderungen am Dateisystem bestehen nur solange, wie der Container existiert, weil das Dateisystem flüchtig ist (nur Ordner, die also Volumes herausgeführt werden, sind persistent). Container sind keine virtuellen Maschinen, die man pflegt und aktualisiert (wie Haustiere). Es sind Nutztiere: Wenn es einen besseren (aktuelleren) Container gibt, wird der alte entsorgt. Klingt brutal, ist aber ganz nützlich (wenn irgendwas im Container schiefläuft, muss man nicht nach der Ursache suchen. Weg damit und ersetzen).

Das Vorgehen ist daher ein anderes: Sie werden vermutlich ein eigenes Abbild mit einem Dockerfile bauen. Als Basis-Image nutzen Sie Win Server Core (mcr.microsoft.com/windows/servercore). Microsoft veröffentlicht automatische Builds dieses Images in seiner Registry. Um diese untere Schicht auszutauschen und so von den Updates zu profitieren, müssen Sie einfach nur mit docker build das Image neu bauen (zur Sicherheit kann man mit —no-cache sicherstellen, dass das Basisimage immer geladen wird). Sehr empfehlenswert ist es, den gesamten Bauprozess an ein CI/CD-System zu übergeben, eine geplante Aufgabe und ein kleines Skript funktionieren aber auch. Das Skript oder die CI-Lösung können dann nachts automatisch frische Abbilder für Ihre Anwendung bauen und in eine Registry legen (irgendwo angemietet oder im eigenen Haus). Ihre Docker-Hosts, auf denen die Container laufen, brauchen dann irgendeinen Automatismus, um regelmäßig das frische Abbild zu ziehen. Der alte Container wird entsorgt, der neue übernimmt.

Zum Admin Center: Auch das bekommt man sicher irgendwie zusammengefummelt, es läuft aber der Idee zuwider: Container werden nicht gepflegt, weil sie reproduzierbar sein müssen. Manuelle Änderungen verschwinden mit dem Container.

Noch ein Detail: Container teilen sich den Kernel mit dem Gastgeber. Das unterscheidet sie wesentlich von VMs (Container blockieren daher keinen RAM, weil sie keinen Kernel booten). Das heißt auch: Die meisten Sicherheitsupdates bekommen Ihre Container, wenn der zugrundeliegende Windows Server seine Updates bekommt.

Viele Grüße
-----
 

eumel_1

Der Reisende
Frage: woher soll man wissen, dass du das in einen Container installiert hast, wenn ich mal schaue, finde ich diese Anleitung
und da steht nichts von Container?
Auch andere Erklärseiten sprechen nirgends von Containern?

Windows Server Core ist somit (nach meinem Erkenntnisstand) vergleichbar zu Ubuntu Linux Server, quasi dasselbe Ubuntu aber ohne GUI.
 
@eumel_1

In Ordnung, du hast mich voll erwischt. Sorry und Asche auf mein Haupt.:o
Ich gelobe Besserung und wünsche uns allen einen entspannten Tag!
 
Zuletzt bearbeitet:

DrSnuggles

Bekanntes Mitglied
@Dr.Windows:

Die Antwort ist völlige Grütze, du bedienst den Server entweder per Powershell oder über Servermanager von einem Server mit GUI.

Leute die Windows Server Core in Docker betreiben sind selten ...
 
@DrSnuggles

Die Antwort ist nicht völlig sinnlos, sondern ging auf meine Fragestelltung ein.

Ich entwickle derzeit Container mit Windows Server Core (2016/2019) Und obwohl sehr selten, wie ich nach einigen Monaten Entwicklungszeit selber schmerzhaft festgestellt hatte, läuft es jetzt perfekt. Ich musste viel selber ausprobieren und testen, da die Informationen sehr dünn gesägt sind.
Die komplette Entwickung wurde in Powershell realisiert.
Auch das Updaten der Images selber ist kein Problem, da alle Daten optional auch ausserhalb des Containers gespeichert werden.
Gilt insbesondere für die DB (SQL-Server 2019 Express) und auch eine OpenJDK basierende Kommunikatiossoftware. Nur der Webserver (IIS) wird im Container betrieben.
Wenn ein neues Image beötigt wird, dann per Skript das Update und den Container einfach deployen. Fertig.

Sollte hier auf dem Board jemand Informationen zu Windos Containern benötigen, dann kann ich gerne weitere Infos zur Verfügung stellen per PN.
 
Zuletzt bearbeitet:
@DrSnuggles

Gute Frage und wie immer gibt es eine einfache Antwort: Unsere Kunden setzen bei der Applikation zu 100% auf Windows Server und auf die Microsoft Infrastruktur. (IIS/SQL-Server)
Ich kenne persönlich keinen unserer Kunden, der dafür Linux/Unix-Server im Einsatz hat.
Deshalb gab es zu Beginn der Entwicklung nur eine Vorgabe: Windows Container.
Es funktioniert nach einigen Monaten Entwicklung auch alles einwandfrei. Musste halt fast alles austesten und konnte auf nicht sehr viel Know-How zurückgreifen.
Werde mich aber im Nachgang auch am Linux/Unix-Container versuchen. Microsoft SQL-Server ist verfügbar und den Webserver kann man ja austauschen. Die Applikation selber wurde in PHP realisiert.
Berichte dann hier exclusiv über die Ergebnisse.
 
Zuletzt bearbeitet:

DrSnuggles

Bekanntes Mitglied
@Dr.Windos:

Wenn die Container nicht speziell für den Kunden entwickelt werden killen dich die Gruppenrichtlinien. Ich hab noch nirgends gesehen, dass es funktioniert standartisierte Windows Container zu "verkaufen"
 
@DrSnuggles

Du hast vollkommen Recht und deshalb werden die Container zu 100% ausschliesslich nach Kundenspezifikation erstellt. Wir stellen ein Framework/Baukasten zur Verfügung und der Kunde teils uns seine Spezifikationen mit und wir machen es zusammen mit seiner IT oder nach einer Einführung durch mich und mit Anleitung bauen und deployen sie es selbst.
 
Zuletzt bearbeitet:

DrSnuggles

Bekanntes Mitglied
Ja, aber warum dann Container?
Das lohnt sich doch nur wenn man viele gleichartige Instanzen braucht.
Der Wartungsaufwand für Einzelanfertigungen ist viel höher.
 
@DrSnuggles

Das Framework kann auch eine VM erstellen mit identischem Setup wie für den Container. Also der Kunde hat immer die Wahl.
Und alle unsere Anlagen sind kundenspezifisch. Es gibt keine 2 identischen. Der Wartungsaufwand ist für den Container nicht höher als bei einer VM. Er unterscheidet sich nur im Detail.
Für den Austausch der Anwendung muss ich den IIS stoppen, neue Version in den Ordner wwwroot kopieren und den IIS wieder starten. Im Container kommen nur die entsprechenden Kommandos noch dazu.
Aber wenn ein Hoster/Dienstleister mehrere mandantenunbhänige, aber sonst identische Systeme hosten muss, wird er zum Container greifen.
Deshalb wurde das ganze auch entwickelt um hier mehr Flexibiliät anbieten zu können. Ob dies genutzt wird lässt sich derzeit nicht abschätzen.
Wir haben Anfragen von Hoster/Diensteistern und es wird sich die nächsten Wochen/Monate zeigen, wieviele Container bestellt und ausgerollt werden/wurden.
 
Zuletzt bearbeitet:

DrSnuggles

Bekanntes Mitglied
Ich würde mich freuen wenn du in ein paar Monaten Mal berichtest. Wir als Firma wären nicht bereit für den Einsatz der Container.
Softwareverteilung, Lizenzmanagement, Serverpatching, TFS Deployments
Aber wir haben auch kaum Systeme die exakt kopiert werden können.
 
Oben Unten