如何使用模式来指定多个清单组(而非主机)来运行该剧本?

时间:2019-05-09 23:06:02

标签: ansible

我有几个顺序命名的组,我想在这些组上运行我的剧本。我可以指定确切名称或使用星号通配符,但不能指定数字范围。

Group Names
group1
group2
group3 
剧本中的

-hosts: "{{ var_hosts }}"

示例:

ansible-playbook -i inventory tasks/myplaybook.yml -e 'var_hosts=group1' ==>有效

ansible-playbook -i inventory tasks/myplaybook.yml -e 'var_hosts=group*' ==>通过选择所有名为“ groups *”的组来工作

ansible-playbook -i inventory tasks/myplaybook.yml -e 'var_hosts=group[1:3]' ==>不起作用。我收到错误消息:

'[WARNING]: Could not match supplied host pattern, ignoring: group'

我的Google搜索未找到任何文档,详细说明了组名中哪些模式是合法的。有没有办法在组名中使用数字范围?

1 个答案:

答案 0 :(得分:0)

Patterns不是 regex

  

您可以通过在组名称中添加下标来引用组中的主机:

     

webservers [0:2]#== webservers [0],webservers [1]

     

...