使用ansible-playbook选择特定的主机/主机组

时间:2017-04-12 11:01:20

标签: ansible ansible-inventory

使用ansible-playbook命令,我们可以为库存中的所有主机执行playbook,并且我有一个从web服务器中删除缓存的手册。但我不应该删除特定计算机上的缓存,除非开发人员要求这样做。

但是使用ansible-playbook我无法从广告资源中挑选特定主机。但我可以使用一些语法ansible-playbook somebook.play -i hostname,,但这会查找DNS条目并相应地执行,但不会检查库存文件。

另一种方法是为每个主机创建单独的库存文件,并按开发人员按请求的主机调用它们,我不知道这是多少推荐的方式。

最后一个方法AFAIK通过Python使用ansible.runner并在hostname上使用模式并调用python程序。

感谢您阅读我的长篇文章。

除此之外,您是否知道在执行剧本时从库存中选择特定主机/主机组的其他方法?

我想知道其他任何方式,但只使用ansible-playbook和库存文件。

1 个答案:

答案 0 :(得分:5)

  

但是使用ansible-playbook我无法从广告资源中挑选特定主机。

是的,你可以 - 执行ansible-playbook --help命令来显示帮助:

Usage: ansible-playbook playbook.yml

Options:

<--- cut --->

  -l SUBSET, --limit=SUBSET
                        further limit selected hosts to an additional pattern

<--- cut --->

如果您想知道模式是什么 - patterns上有一个帮助页面。