我从(有限的)经验中认识了木偶,并注意到在配置管理中,现在有一股强大的趋势向Ansible发展。
一方面,我理解Ansible不需要代理,因为它可以智能地使用ssh。
另一方面,这些特性已经开始喜欢上了木偶:
.eyaml)其中,PuppetDB在我看来是最重要和最有用的(例如,与其他工具的集成)。因此,我的问题是: Ansible是否有类似于PuppetDB的东西,即提供API的组件,例如可以问它“在主机x上安装了哪些软件包?”或者“Y包安装在哪个主机上?”
(这个问题是从StackOverflow迁移过来的)。
更新Puppet的重要缺点--我到目前为止的经验:并不是说它需要一个代理(据我所见,Ansible对Python的使用还引入了一个类似于Python解释器的代理;-),而是它希望它的代理只充当root,并且总是这样。
发布于 2017-12-08 08:28:30
直接的答案是“不”。
Ansible没有任何数据库,因为它应该由来自不同计算机的不同操作员运行,并且它的目的是确保目标系统处于精确状态,就像剧本中所指定的那样。
有一个选项可以将外部事实缓存后端附加到Ansible。因此,您可以设置redis作为您的缓存,Ansible将填充它收集的事实,在游戏运行期间,您可以查询它们的红色。但是它是非常有限的解决方案,因为Ansible收集的事实并不多,例如,没有关于已安装包的信息--您必须自己收集它们--使用set_fact和cacheable选项将它们放入外部缓存中。
https://devops.stackexchange.com/questions/2825
复制相似问题