我所在的公司拥有大量虚拟机和物理服务器,我们不断升级它们,安装不同的软件包并添加新服务。我们考虑购买一款软件,无论操作系统如何,我们都可以自动化此过程。
例如,如果我想将所有服务器的时间恢复为 2 小时,最好只需单击几次即可完成,而无需去每台机器上登录。
我看到了一款叫puppetlabs的软件(http://docs.puppetlabs.com/) 虽然它看起来很酷但我相信可能会有更好的东西。
请建议我应该检查什么。
答案1
木偶是目前使用最广泛的软件,主要是因为 Puppetlabs 的流行。这是一个可靠的解决方案,但也有一些缺点(它发展很快,语言变化很多)。此外,一些奇怪的语法结构有点疯狂(宇宙飞船运算符等)。
还有其他解决方案:
厨师语法更简洁一些,它是纯 Ruby 语法 (DSL),而 Puppet 有自己的解析器。我想说,部署 Web 应用程序的公司往往更喜欢 Chef 而不是 Puppet,但这并不是普遍规律。
CF 引擎是一个用 C(或者 C++,我不记得了)编写的古老而快速的解决方案。这是一个相当学术的项目,但非常强大,而且性能也很好。
Ansible是前 Puppetlabs 员工(也是前 Red Hat 员工)的新项目,很有趣,您也应该查看一下。它与 Puppet 有一些设计相似之处,也有一些不同之处,它具有基于清单语法(不是语言)的简洁(YAML),并且是用 Python 编写的。它基于推送,但可以用它来配置消息传递。
更多工具- 还有更多工具,但这些是主要工具。大家肯定会把其他东西放在我的(个人)列表中。我只给你我玩过的软件的提示。
边注:我推荐 Foreman 项目,它是 Puppet(和 Chef)的一个很好的 GUI 界面,具有配置支持(裸机、虚拟化、云)和监控:http://www.theforeman.org