如何将部署自动化工具集成到puppet中?

时间:2015-07-24 16:18:27

标签: puppet ansible configuration-management devops

我们是一个混合的linux / windows商店,前一段时间成功采用了Puppet for Config Mgmt。我们希望将ansible作为我们的部署编排工具(研究表明puppet不能很好地完成这项工作),但对如何集成这两种产品存有疑问。

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

2 个答案:

答案 0 :(得分:1)

减少系统之间重复状态量的一种方法是使用Ansible's "Dynamic Inventory"支持。您可以使用从其他位置提取相同数据的脚本,而不是在文本文件中定义主机/组。这可能是PuppetDBForeman等,并且将取决于您的环境。

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

最后,可以使用puppet推出新版本,但使用像发布过程这样的“微服务”更容易。确保应用程序/服务/数据库在各版本之间保持向后兼容,可以使用puppet和您最喜欢的包管理器轻松推出版本。

答案 1 :(得分:0)

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

https://puppetlabs.com/mcollective