【发布时间】:2017-09-08 03:03:56
【问题描述】:
使用 ansible-playbook 命令,我们可以为清单中的所有主机执行 playbook,我有一个从网络服务器中删除缓存的 playbook。但我不应该删除特定机器上的缓存,除非开发人员要求这样做。
但是通过使用ansible-playbook,我无法从清单中选择特定主机。但是我可以使用一些语法作为ansible-playbook somebook.play -i hostname,,但这会查找DNS条目并相应地执行,但不会检查库存文件。
另一种方法是为每个主机创建单独的清单文件并根据开发人员请求的主机调用它们,我不知道有多少推荐的方式。
AFAIK 的最后一种方法是通过 Python 使用 ansible.runner 并在主机名中使用模式并调用 python 程序。
感谢您阅读我的长文。
除了这些,您是否知道在执行剧本时从清单中选择特定主机/主机组的任何其他方法?
我想知道任何其他方法,但只使用 ansible-playbook 和库存文件。
【问题讨论】: