70

有没有像 *nix world 这样的 Windows 工具?我正在寻找像ChefPuppet这样的东西。

我找到了 cfEngine,但它看起来仍然非常以 *nix 为中心。理想情况下,它将是开源的,并且是命令行驱动的。

这个想法是将自动化基础架构与基于 Windows 的服务器组合在一起。我们目前的 IT 部门不允许使用非 Windows 服务器。

4

7 回答 7

51

Opscode 在 Windows 上支持 Chef。虽然我们没有为我们的任何基础架构运行 Windows,但我们确实有不断改进我们的 Windows 支持的开发人员。我们还获得了社区贡献,并且 Chef 的大部分早期 Windows 功能都是由社区贡献的。

重要提示Opscode 现在为 Windows 上的 Chef 提供 MSI 安装程序。这使得在 Windows 上安装 Chef 和 Ruby 变得前所未有的容易。

虽然我们的团队有很多 Unix/Linux 背景,但我们的意图是 Windows 被视为一等公民。2012 年对于 Chef 和 Windows 来说将是重要的一年。请留意Opscode 博客上的公告。

以下Chef 资源适用于 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 上提供了此信息和更多信息:

更新

以下食谱为 Chef 添加了新资源以管理 Windows:

这是 Doug 上面链接的存储库中优秀资源的更新/重写。Chef Wiki上提供了文档。

以下食谱部署了 PowerShell 并提供了直接在 Chef Recipes 中运行 PowerShell 命令/脚本的资源:

文档可在说明书 tarball 中包含的 README.md 中找到。

添加了用于安装7-zip、管理IISSQL Server的其他说明书。我们的“数据库”食谱已经扩展了一个资源/提供者来管理 SQL Server 数据库和用户(使用tdsruby​​gem)。

刀的刀窗口插件添加了与 Windows 系统交互的功能,以便为它们提供 Chef 安装。

更新:我们现在为 Chef 添加了对 Windows 的文件 ACL 支持,适用于所有常见的文件/目录嫌疑人。

于 2011-02-06T21:11:09.657 回答
8

Cfengine Nova 多年来一直为 Windows 提供稳定的原生支持(即不需要 Cygwin)。

在 Unix 上可能的一切(例如运行命令、文件复制、文件编辑等)也可以在 Windows 上完成,除了 Windows 特定的功能,如

  • 注册表管理
  • 文件 ACL 权限
  • Windows 服务管理
  • 事件日志支持
  • 高级操作系统发现(版本、架构、服务包、网络、域等)

有关简短介绍,请查看 Nova 补充手册的第 11 节:http: //cfengine.com/files/Nova_Supplement.pdf

于 2011-02-08T15:53:09.747 回答
4

在这里有很多经验,我认为这真的取决于你需要在给定的盒子上管理什么。找到您最常见的用例并提出一个更具体的问题:管理它的最佳工具是什么。像 IIS 这样的事情可能很棘手(至少在较旧的 Windows 版本上),并且为 CM 工具寻找模块来管理诸如 IIS 设置和应用程序池之类的事情可能会被击中和错过 - 特别是在涉及高级设置时(工作线程回收弹簧想到)

然而,Puppet 为更基本的 IIS 设置伪造了模块,这在很大程度上对我有用 - 我真的很喜欢这里的声明式格式 - 特别是如果你管理大量的 IIS 服务器

Windows 和配置管理的主要问题之一是缺乏适当的包管理解决方案 - 这里真正派上用场的是一种叫做 Chocolatey 的东西(参见http://chocolatey.org/)有一个插件可以使用它作为 puppet 的提供者 - 使整个管理过程变得特别容易。但是我想这也可以与其他 CM 工具集成 - 但对在 Windows 环境中自动安装软件有很大帮助

尽管值得说明的是,无论您最终使用什么,都必须花一些时间找出一些奇怪的错误——窗口和脚本/自动化并不是最好的。

于 2014-02-18T17:00:18.220 回答
4

我一直在寻找完全相同的东西。

我遇到了Windows PowerShell Desired State Configuration,它声称可以执行您希望使用 Chef/Puppet 执行的许多 CM 任务。

我不会对此发表任何意见,因为我仍处于早期评估阶段 - 但如果您仍在寻找某些东西,请试一试。

于 2014-01-23T13:48:47.570 回答
3

根据我的经验,我很高兴使用这样的工具集:

  1. 使用 powershell 管理 windows 配置。如果只有windows server,可以远程执行ps脚本。

  2. 如果您愿意,建议使用 Puppet 或 Chef 将您的 powershell 脚本分发到客户端。

  3. 如果你喜欢,建议使用 cygwin + (windows sshd) + crond 来管理在 windows 中运行的类似 shell 的脚本。

于 2011-09-27T06:17:05.917 回答
1

我认为如果您可以使用Microsoft System Center会更好。

它是 Microsoft 的解决方案,用于管理从桌面到服务器等所有 Microsoft 基础产品。应该试一试...

如何在 Configuration Manager 中部署应用程序

在 System Center 2012 中部署软件和操作系统

于 2013-11-15T06:41:31.560 回答
0

除非您是了解 ruby​​ 的软件开发人员,否则我不推荐 Chef。Chef 专为想要管理 IT 基础架构的软件开发人员而设计。不适用于最终管理它的 SysOps 人员。它试图将 IT 基础设施视为代码,这与其实际工作方式相反,更像是数据。

Puppet 对 SysOps 人员更友好,恕我直言,但仍然可能很复杂。

好消息是还有其他选择。对于 Windows 来说不太好,但像 Puppet 这样的项目确实很好地支持它。

于 2013-02-07T23:46:40.090 回答