web-dev-qa-db-ja.com

Windowsの構成管理

* nix worldにあるようなウィンドウ用のツールはありますか? Chef または Puppet のようなものを探しています。

cfEngine を見つけましたが、それでも* nix中心に見えます。理想的には、それはオープンソースであり、コマンドライン駆動です。

その考え方は、Windowsベースのサーバーで自動化されたインフラストラクチャをまとめることです。現在のIT部門では、Windows以外のサーバーを許可していません。

68
Nathan Lee

Chefは、OpscodeによってWindowsでサポートされています。どのインフラストラクチャに対してもWindowsを実行していませんが、Windowsサポートを継続的に改善している開発者がいます。また、コミュニティからの貢献も得ており、Chefの初期段階のWindows機能のほとんどはコミュニティによって貢献されました。

ImportantOpscodeはWindows上のChef用のMSIインストーラーを提供するようになりました 。これにより、ChefとRubyをWindowsにインストールするのがこれまで以上に簡単になります。

私たちのチームには多くのUnix/Linuxのバックグラウンドがありますが、私たちの意図はWindowsが一流の市民として扱われることです。 2012年はChefとWindowsにとって大きな年になります。 Opscode blog のお知らせに注目してください。

次の Chef Resources Windowsで動作します:

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

つまり、これらはChef自体に含まれるリソースです。 Chefはクックブックで拡張可能であるため、さまざまなWindows固有のクックブックを介してより多くのリソースが追加されます。詳細についてはお読みください。

こちらからChefとWindowsの使用を開始できます。

もともと、Doug MacEchernは、ウィンドウを自動化するために多くのことを行うためのクックブックをいくつか書きました。

この情報とChef Wikiで利用可能な詳細:

更新

次のクックブックは、Windowsを管理するための新しいリソースをChefに追加します。

これは、上記でリンクされているリポジトリからのDougの素晴らしいリソースの更新/書き換えです。ドキュメントは Chef Wiki で入手できます。

次のクックブックは、PowerShellをデプロイし、PowerShellコマンド/スクリプトをChef Recipesで直接実行するためのリソースを提供します。

ドキュメントは、クックブックのtarballに含まれているREADME.mdで入手できます。

7-Zip 、管理 [〜#〜] iis [〜#〜] および SQL Server をインストールするための追加のクックブックが追加されました。 " database "クックブックは、SQL Serverデータベースとユーザーを管理するためのリソース/プロバイダー(tds ruby​​gemを使用)で拡張されました。

knife-windows knifeのプラグインは、Windowsシステムと対話してChefインストールをプロビジョニングする機能を追加します。

更新:すべての通常のファイル/ディレクトリ名寄せ候補に対して WindowsのファイルACLサポートをChefに を追加しました。

49
jtimberman

Cfengine Novaは長年にわたってWindowsの安定したネイティブサポートを提供しています(つまり、Cygwinは必要ありません)。

Unixで可能なすべて(コマンドの実行、ファイルのコピー、ファイルの編集など)は、Windowsでも実行できます。

  • レジストリ管理
  • ファイルACL許可
  • Windowsサービス管理
  • イベントログのサポート
  • 高度なOS検出(バージョン、Arch、サービスパック、ネットワーク、ドメインなど)

簡単な紹介については、Nova補足マニュアルのセクション11を参照してください。 http://cfengine.com/files/Nova_Supplement.pdf

8
user589137

私はまったく同じものを探していました。

Windows PowerShell Desired State Configuration に出くわしました。これは、Chef/PuppetでやりたいCMタスクの多くを実行することを意図しています。

私はそれを評価するのがまだ早いので、それについて意見を述べるつもりはありません-しかし、まだ何かを探しているなら、これを試してみてください。

4
MattW

ここで多くの経験をしたことは、与えられたボックスで何を管理する必要があるかによります。最も一般的なユースケースを見つけて、それを管理するのに最適なツールは何かという点で、より具体的な質問をしてください。 IISのようなものは(少なくとも古いWindowsビルドでは)難しい場合があり、IIS設定やアプリプールのようなものを管理するためのCMツールのモジュールを見つけることは、特にヒットする場合とミスする場合があります高度な設定になります(ワーカーのスレッドリサイクルが思い浮かびます)

ただし、Puppetには、より基本的なIIS設定用のforgeモジュールがあります。これは、私にとってここでの宣言形式が本当に好きです。特に、多数のIISサーバーを管理する場合

また、Windowsと構成管理の主な問題の1つは、適切なパッケージ管理ソリューションの欠如です。実際にここで本当に役立つのは、Chocolateyと呼ばれるものです( http://chocolatey.org/ を参照)これをパペットのプロバイダーとして使用するプラグインがあります-管理プロセス全体を特に簡単にします。ただし、これは他のCMツールと統合することもできますが、Windows環境にソフトウェアを自動的にインストールするのに非常に役立ちます

使用することになったものは、奇妙なバグを見つけるのにしばらく時間を費やさなければならないことを述べる価値があります-ウィンドウとスクリプト/自動化は最良ではありません。

4
Scarby

私の経験に基づいて、このようなツールセットを使用できてうれしいです。

  1. PowerShellを使用して、Windowsの構成を管理します。 Windowsサーバーのみの場合、psスクリプトをリモートで実行できます。

  2. 必要に応じて、PuppetまたはChefを使用して、PowerShellスクリプトをクライアントに配布することをお勧めします。

  3. 必要に応じて、cygwin +(windows sshd)+ crondを使用して、Windowsで実行されるシェルらしいスクリプトを管理することをお勧めします。

3
Huan

Microsoft System Center を使用できればより良いと思います。

これは、デスクトップベースのサーバーからすべてのマイクロソフトベース製品を管理するマイクロソフトのソリューションです。試してみてください...

Configuration Managerでアプリケーションを展開する方法

System Center 2012でのソフトウェアとオペレーティングシステムの展開

1
Thilina

Rubyを知っているソフトウェア開発者でない限り、Chefはお勧めしません。 Chefは、ITインフラストラクチャを管理したいソフトウェア開発者向けに設計されています。実際にそれを管理することになっているSysOpsの人のためではありません。 ITインフラストラクチャを、データのように実際に機能する方法に直観的に反するコードのように扱うことを試みます。

Puppetは、SysOpsのユーザーにとっては友好的ですが、それでも複雑な場合があります。

良いニュースは、他のオプションもあるということです。 Windowsではそれほどではありませんが、Puppetのようなプロジェクトでは合理的に十分にサポートされています。

0
fred