我正坐在一个相当复杂的 Ansible 项目前面,我们用它来设置我们的本地开发环境(多个 VM),并且有一个角色使用 Ansible 收集的事实/etc/hosts
在每个 VM 上设置文件。不幸的是,当您只想为一台主机运行剧本时(使用 -limit 参数),来自其他主机的事实(显然)丢失了。
有没有办法强制 Ansible 在所有主机上收集事实,即使您将剧本限制在一个特定的主机上?
我们试图在剧本中添加一个剧本来收集来自所有主机的事实,但当然这也仅限于 -limit 参数给定的一个主机。如果有一种方法可以强制该播放在其他播放之前在所有主机上运行,那将是完美的。
我用谷歌搜索了一下,找到了使用 redis 进行事实缓存的解决方案,但由于我们的剧本是在本地使用的,我想避免需要额外的软件。我知道,这没什么大不了的,但我只是在寻找一个“更清洁”、仅限 Ansible 的解决方案,并且想知道这是否存在。