3

我们是一家混合 linux/windows 商店,不久前成功采用 Puppet 进行 Config Mgmt。我们希望将 ansible 作为我们的部署编排工具(研究表明 puppet 不能很好地做到这一点),但对如何集成这两个产品有疑问。

今天,puppet 是关于环境信息(哪些节点属于哪些组等)的真实来源。我想避免在 ansible 中复制这些信息。在两种产品之间共享环境信息方面是否有任何最佳实践?

4

2 回答 2

1

减少系统之间重复状态数量的一种方法是使用Ansible 的“动态库存”支持。您无需在文本文件中定义主机/组,而是使用从其他地方提取相同数据的脚本。这可能是PuppetDBForeman等,这取决于您的环境。

编写一个新脚本也很简单,它只需要是任何可执行文件(bash/python/ruby/etc),它以特​​定格式返回 json。

最后,可以使用 puppet 推出新版本,但使用类似“微服务”的发布过程更容易。确保应用程序/服务/数据库在不同版本之间保持向后兼容可以使发布版本对 puppet 和您最喜欢的包管理器变得微不足道。

于 2015-07-24T22:01:03.673 回答
0

如果您正在寻找 puppetlabs 的解决方案,那么使用 Puppet 和 Mcollective 应该是可行的方法

https://puppetlabs.com/mcollective

于 2015-08-05T15:54:51.293 回答