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

rɑː*_*dʒɑ 2 ansible ansible-inventory

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

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

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

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

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

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

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

tec*_*raf 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 --->
Run Code Online (Sandbox Code Playgroud)

如果你想知道模式是什么 - 有关于模式的帮助页面.