![简单的 Windows+Linux 服务器配置?Chef/Puppet/Ansible 等](https://linux22.com/image/597271/%E7%AE%80%E5%8D%95%E7%9A%84%20Windows%2BLinux%20%E6%9C%8D%E5%8A%A1%E5%99%A8%E9%85%8D%E7%BD%AE%EF%BC%9FChef%2FPuppet%2FAnsible%20%E7%AD%89%20.png)
我主要是一名开发人员,兼职从事开发运营工作;并且负责管理我的项目的服务器。
- 我希望能够自动为我的项目配置 Web/应用程序/数据库服务器
- 我管理 Windows 和 Linux 服务器(VPS、云和专用)
我已经简要地调查过 Chef/Puppet/Ansible;并且我想找到一些东西:
- 易于学习和理解。我不想花数周时间去理解一项复杂的技术。
- 理想情况下不需要服务器(“主服务器”)来保存配置
- 支持 Windows 和 Linux 服务器的配置
- 附带合适的入门文档
有人能建议哪种工具最适合吗?
谢谢
答案1
我的要求和你几乎一模一样,而且我也对这个主题做了大量研究。你当然可以使用 Puppet/Chef,但学习难度很高。此外,我见过的 Puppet/Chef 配方实际上很少完全支持 Windows,所以你必须为 Windows 编写自己的配方,否则 Linux 上就可以使用了。
对于 Linux 管理,Ansible 将满足您的所有需求。它非常易于使用、安装,并且不需要中央服务器。我通过安装带有 OpenSSH 的 Cygwin 成功地在 Windows 中使用了 Ansible。您可以使用一些简单的批处理/PS 脚本自动执行 Cygwin 安装和配置,以引导您的服务器。然后,只要它从 Cygwin 安装运行 Python,您就可以使用 Ansible。Ansible 并不真正支持 Windows,当然可能存在错误,但我能够成功使用它。如果您是开发人员,那么即使遇到任何问题,也很容易理解 Ansible 的源代码。开发人员在处理错误时也非常敏感。我提交了一个与路径相关的错误,并在一天内修复了它。您肯定会在 Windows 中遇到一些问题,但我认为最终它仍然更容易,假设您没有时间和金钱投资 Chef/Puppet。
编辑:看起来 SaltStack 现在支持 Windows。它似乎可以与 YAML 文件一起使用,这类似于 Ansible。现在绝对值得在 Windows 上试用。
答案2
我使用过 Puppet 和 Chef(抱歉,没有使用 ansible)。我可以自信地告诉你,Puppet 可以满足你上面列出的要求。
- 它很容易学习。你可以在一两天内掌握基础知识。从puppet 的文档
- Puppet 可以在主服务器/服务器上运行,也可以独立运行。请自行选择。
- 根据文档,Puppet 可以处理 Linux 和 Windows。我个人还没有在 Windows 上尝试过。
- Puppet 的文档非常棒。此外,James Turnbull 撰写的《Pulling Strings with Puppet》等书籍可帮助您从最基础的内容到负载平衡等高级内容理解 Puppet。
我已经使用 puppet 来处理物理服务器以及云部署(AWS),它非常简单且可靠。