Konfigurationsmanagement für Windows [geschlossen]


70

Gibt es Tools für Windows wie diese * nix world? Ich suche so etwas wie Chef oder Puppe .

Ich habe cfEngine gefunden, aber es sieht immer noch sehr nix-zentriert aus. Idealerweise ist es Open Source und befehlszeilengesteuert.

Die Idee ist, eine automatisierte Infrastruktur mit Windows-basierten Servern zusammenzustellen. Unsere derzeitige IT-Abteilung erlaubt keine Nicht-Windows-Server.


Update: Sowohl Chef als auch Puppet haben jetzt Windows-Module und Inedo Otter ( inedo.com/otter ) wurde für Windows entwickelt und lässt sich in PowerShell / DSC integrieren.
Karl Harnagy

Antworten:


51

Chef wird unter Windows von Opscode unterstützt. Während wir Windows für keine unserer Infrastrukturen ausführen, haben wir Entwickler, die unsere Windows-Unterstützung kontinuierlich verbessern. Wir erhalten auch Community-Beiträge, und der größte Teil der frühen Windows-Funktionalität für Chef wurde von der Community bereitgestellt.

Wichtig : Opscode bietet jetzt ein MSI-Installationsprogramm für Chef unter Windows . Dies macht es einfacher als je zuvor, Chef und Ruby unter Windows zu installieren.

Obwohl wir in unseren Teams viel Unix / Linux-Hintergrund haben, ist unsere Absicht, dass Windows als erstklassiger Bürger behandelt wird. 2012 wird ein großes Jahr für Chef und Windows. Behalten Sie den Opscode-Blog im Auge, um Ankündigungen zu erhalten.

Die folgenden Chef-Ressourcen funktionieren unter Windows:

Environment Resource: sets windows environment variables
User
Group
Mount
File
Gem Package
Remote File
Cookbook File
Template
Service
Ruby Block
Execute

Das heißt, dies sind Ressourcen, die im Chef selbst enthalten sind. Da Chef mit Kochbüchern erweiterbar ist, werden durch eine Vielzahl von Windows-spezifischen Kochbüchern viel mehr Ressourcen hinzugefügt. Lesen Sie weiter für weitere Informationen.

Hier können Sie mit Chef und Windows beginnen:

Ursprünglich schrieb Doug MacEchern einige Kochbücher, um eine Reihe von Dingen zu tun, um auch Fenster zu automatisieren.

Diese und weitere Informationen finden Sie im Chef-Wiki:

Aktualisieren

Das folgende Kochbuch fügt Chef neue Ressourcen zum Verwalten von Windows hinzu:

Es ist ein Update / Umschreiben von Dougs feinen Ressourcen aus seinem oben verlinkten Repository. Die Dokumentation ist im Chef-Wiki verfügbar .

Das folgende Kochbuch stellt PowerShell bereit und bietet eine Ressource zum Ausführen von PowerShell-Befehlen / -Skripten direkt in Chef Recipes:

Die Dokumentation finden Sie in der README.md, die im Kochbuch-Tarball enthalten ist.

Zusätzliche Kochbücher für die Installation von 7-zip , die Verwaltung von IIS und SQL Server wurden hinzugefügt. Unser " Datenbank " -Kochbuch wurde um eine Ressource / einen Anbieter zum Verwalten von SQL Server-Datenbanken und tds-Benutzern (mit dem Rubygem) erweitert.

Das Messer-Windows- Plugin für Messer bietet zusätzliche Funktionen für die Interaktion mit Windows-Systemen, um diese für die Chef-Installation bereitzustellen.

Update: Wir haben Chef nun die Unterstützung für Datei-ACLs für Windows für alle üblichen Datei- / Verzeichnisverdächtigen hinzugefügt .


@sumek Kommt darauf an was du meinst? Wird unter Windows nicht unterstützt?
Jtimberman

1
Ja, welche Kochfunktionen werden unter Windows nicht unterstützt?
Sumek

1
Die Kernfunktionalität von @sumek Chef ist die Verwaltung von Ressourcen auf Knoten. Für die Verwaltung von Ressourcen einer bestimmten Art ist ein Anbieter für ein bestimmtes Betriebssystem erforderlich. Die Anbieter, die unter Windows fehlen, haben unter Windows möglicherweise keine direkte Parallele. Da Chef jedoch erweiterbar ist, kann ähnlich wie im Powershell-Beispiel "Unterstützung" über Kochbücher hinzugefügt werden. Ein neues "Windows" -Kochbuch, das kürzlich veröffentlicht wurde, fügt auch die Windows-Registrierung und die "Paket" -Verwaltung hinzu.
Jtimberman

Hinweis: Ich habe die Antwort aktualisiert und einen Link zu den Datei-ACL-Informationen im Chef-Wiki eingefügt.
Jtimberman

danke für den Link posten
Robert

8

Cfengine Nova bietet seit Jahren eine stabile native Unterstützung für Windows (dh es wird kein Cygwin benötigt).

Alles, was unter Unix möglich ist (z. B. Befehle ausführen, Dateien kopieren, Dateien bearbeiten usw.), kann auch unter Windows ausgeführt werden, zusätzlich zu Windows-spezifischen Funktionen wie

  • Registrierungsverwaltung
  • Datei-ACL-Berechtigungen
  • Windows-Dienstverwaltung
  • Unterstützung für Ereignisprotokolle
  • Erweiterte Betriebssystemerkennung (Version, Arch, Service Pack, Netzwerk, Domäne usw.)

Eine kurze Einführung finden Sie in Abschnitt 11 des Nova-Ergänzungshandbuchs: http://cfengine.com/files/Nova_Supplement.pdf


Aber verwaltet es IIS? Ich benötige hauptsächlich ein Tool zum Verwalten von IIS-Servern.
Nathan Lee

es kann also "Befehle ausführen", ja
Chris Pfohl


4

Nachdem ich hier viel Erfahrung gesammelt habe, denke ich, dass es wirklich davon abhängt, was Sie für eine bestimmte Box verwalten müssen. Finden Sie Ihren häufigsten Anwendungsfall und stellen Sie eine spezifischere Frage in Bezug auf: Was ist das beste Tool, um dies zu verwalten? Dinge wie IIS können schwierig sein (zumindest bei älteren Windows-Builds) und das Finden von Modulen für CM-Tools zum Verwalten von Dingen wie IIS-Einstellungen und App-Pools kann ein Hit und Miss sein - insbesondere wenn es um erweiterte Einstellungen geht (Mitarbeiter, die bereits Recycling-Federn in den Sinn kommen).

Puppet verfügt jedoch über Schmiedemodule für grundlegendere IIS-Einstellungen, die für mich weitgehend funktionierten - und ich mag das deklarative Format hier sehr - insbesondere, wenn Sie eine große Anzahl von IIS-Servern verwalten

Eines der Hauptprobleme bei der Windows- und Konfigurationsverwaltung ist das Fehlen einer geeigneten Paketverwaltungslösung. Was hier wirklich nützlich ist, ist Chocolatey (siehe http://chocolatey.org/ ). Hierfür gibt es ein Plugin als Marionettenanbieter - das macht den gesamten Managementprozess besonders einfach. Ich stelle mir jedoch vor, dass dies auch in andere CM-Tools integriert werden kann - aber es hilft sehr, Software automatisch in einer Windows-Umgebung zu installieren

Es ist jedoch erwähnenswert, dass Sie, was auch immer Sie am Ende verwenden, eine Weile damit verbringen müssen, einige seltsame Fehler herauszufinden - Fenster und Skripte / Automatisierung sind nicht die besten.


3

Aufgrund meiner Erfahrung bin ich froh, ein solches Toolset zu verwenden:

  1. Verwenden Sie Powershell, um die Windows-Konfiguration zu verwalten. Wenn nur Windows Server, können Sie das ps-Skript remote ausführen.

  2. Wenn Sie möchten, schlagen Sie vor, Puppet oder Chef zu verwenden, um Ihr Powershell-Skript an den Client zu verteilen.

  3. Wenn Sie möchten, schlagen Sie vor, cygwin + (windows sshd) + crond zu verwenden, um die Shell-wahrscheinlichen Skripte zu verwalten, die in Windows ausgeführt werden.



0

Ich empfehle Chef nicht, es sei denn, Sie sind ein Softwareentwickler, der Ruby kennt. Chef ist für Softwareentwickler konzipiert, die die IT-Infrastruktur verwalten möchten. Nicht für SysOps-Leute, die es tatsächlich verwalten. Es wird versucht, die IT-Infrastruktur wie Code zu behandeln, der der tatsächlichen Funktionsweise widerspricht und eher nur Daten ähnelt.

Puppet ist imho freundlicher für SysOps-Leute, kann aber dennoch kompliziert sein.

Die gute Nachricht ist, dass es auch andere Möglichkeiten gibt. Weniger für Windows, aber Projekte wie Puppet unterstützen es ziemlich gut.


4
DevOps wäre der geeignete Begriff (im Vergleich zu SysOps oder "Entwicklern, die die IT-Infrastruktur verwalten"). Im Wesentlichen wurde eine neue Klasse von Überentwickler-Administratoren erstellt, und zwar für bestimmte Shops, in denen eine viel engere Synergie zwischen den traditionellen & die traditionellen Administratoren, die sie unterstützt haben, um dynamischere und dennoch vollautomatisierte Bereitstellungen von der Entwicklung bis zur Produktion zu ermöglichen.
Michael

Down-Voting als höchst subjektive Antwort.
Tom Duckering

@ Tom: Ich habe Windows CM-Tools aus einer DevOps-Perspektive untersucht (dh ich bin ein Entwickler, der für das Release-Management verantwortlich ist). Nach dem, was ich an anderer Stelle über Chef und Puppet Fred gelesen habe, ist der potenzielle Nachteil von Chef ziemlich genau: Benutzer müssen Konfigurationsskripte in Ruby schreiben, während die Konfiguration in Puppet einfacher ist. Tatsächlich habe ich an anderer Stelle zwei Blog-Beiträge gelesen, die den gleichen Anspruch wie Fred erheben: Dieser Chef ist mehr auf DevOps ausgerichtet, während Puppet besser zu ITPros passt. Ich habe es auch nie benutzt, habe also keine persönliche Erfahrung.
Simon Tewsi

@ SimonTewsi: Ein fairer Punkt, aber die Antwort macht Aussagen über die Designabsichten des Küchenchefs, die nicht durch Tatsachen gestützt werden. Es wäre etwas schmackhafter, wenn in der Antwort ein Artikel zitiert würde, der die Merkmale und Eigenschaften beschreibt, die dieses Gefühl erklären könnten.
Tom Duckering
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.