是否有类似* nix世界的Windows工具?我正在寻找Chef或Puppet之类的内容。
我找到了cfEngine,但它仍然看起来非常* nix为中心。理想情况下,它将是开源的,并且是命令行驱动的。
我们的想法是将基于Windows服务器的自动化基础架构整合在一起。我们当前的IT部门不允许使用非Windows服务器。
答案 0 :(得分:49)
Chef。虽然我们不为任何基础架构运行Windows,但我们确实有开发人员不断改进我们的Windows支持。我们还获得了社区贡献,而且大多数早期的Windows功能都是由社区提供的。
重要:Opscode now provides an MSI installer for Chef on Windows。这使得在Windows上安装Chef和Ruby变得前所未有的轻松。
虽然我们团队中有很多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可以使用cookbook进行扩展,因此可以通过各种Windows特定的cookbook添加更多资源。继续阅读以获取更多信息。
您可以在此处开始使用Chef和Windows:
最初,Doug MacEchern写了一些烹饪书来做一些事情来自动化窗户。
此信息可在Chef Wiki上获得:
<强>更新强>
以下食谱为Chef添加了新资源以管理Windows:
这是Doug的优质资源的更新/重写,来自上面链接的存储库。文档可在Chef Wiki上找到。
以下cookbook部署PowerShell并提供直接在Chef Recipes中运行PowerShell命令/脚本的资源:
文档可在cookbook tarball中包含的README.md中找到。
添加了用于安装7-zip,管理IIS和SQL Server的其他食谱。我们的“database”食谱已经扩展了资源/提供程序,用于管理SQL Server数据库和用户(使用tds
rubygem)。
for knife-windows插件添加了与Windows系统交互的功能,以便为他们安装Chef安装。
更新:我们现在为所有常见的文件/目录嫌疑人添加了File ACL support for Windows to Chef。
答案 1 :(得分:8)
Cfengine Nova多年来一直为Windows提供稳定的原生支持(即不需要Cygwin)。
除了特定于Windows的功能外,还可以在Windows上完成Unix上所有可能的操作(例如运行命令,文件复制,文件编辑等),
有关简短介绍,请参阅Nova补充手册的第11节:http://cfengine.com/files/Nova_Supplement.pdf
答案 2 :(得分:4)
我一直在寻找完全相同的东西。
我跑过Windows PowerShell Desired State Configuration,声称要完成许多你想用Chef / Puppet做的CM任务。
我不会对此发表任何意见,因为我仍然在评估它的早期 - 但如果你还在寻找一些东西,那就试一试吧。
答案 3 :(得分:4)
在这里有过一些经验,我认为这真的取决于你需要在给定的盒子上管理什么。找到最常见的用例,并根据以下方面提出更具体的问题:最好的管理方法。像IIS这样的东西可能很棘手(至少在旧的Windows上构建)并且找到用于管理诸如IIS设置和应用程序池之类的CM工具的模块可能会受到影响 - 特别是在高级设置(工作人员已经回收泉水)时
然而,Puppet伪造了更基本的IIS设置模块,这对我来说很有用 - 我真的很喜欢这里的声明格式 - 特别是如果你管理大量的IIS服务器
Windows和配置管理的一个主要问题是缺乏合适的软件包管理解决方案 - 实际上真正方便的是名为Chocolatey的东西(参见http://chocolatey.org/)有一个插件可以使用这个作为木偶的提供者 - 使整个管理过程变得特别容易。但是我想这可以与其他CM工具集成 - 但是在Windows环境中自动安装软件有很大帮助
虽然值得一提的是,无论你最终使用什么,你都需要花一些时间来搞清楚一些奇怪的错误 - 窗口和脚本/自动化并不是最好的。
答案 4 :(得分:3)
根据我的经验,我很高兴使用这样的工具集:
使用powershell管理Windows配置。如果只有Windows服务器,则可以远程执行ps脚本。
如果您愿意,建议您使用Puppet或Chef将您的PowerShell脚本分发到客户端。
如果您愿意,建议使用cygwin +(windows sshd)+ crond来管理在Windows中运行的shell可能的脚本。
答案 5 :(得分:1)
如果您可以使用Microsoft System Center,我认为会更好。
它是Microsoft的一个解决方案,用于管理从桌面到服务器的所有Microsoft基础产品。应该试试......
How to Deploy Applications in Configuration Manager
Deploying Software and Operating Systems in System Center 2012
答案 6 :(得分:0)
除非您是了解ruby的软件开发人员,否则我不推荐Chef。 Chef专为希望管理IT基础架构的软件开发人员而设计。不适合那些真正最终管理它的SysOps人。它试图将IT基础设施视为代码,这与其实际工作方式相反,这更像是数据。
Puppet对于SysOps人来说更友好,但仍然很复杂。
好消息是还有其他选择。对于Windows来说不那么重要,但像Puppet这样的项目确实能够很好地支持它。