限制组从playbook源代码运行播放
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了限制组从playbook源代码运行播放相关的知识,希望对你有一定的参考价值。
目标是限制主机组在剧本中运行。以下代码不会将组限制为组群集,有时下面的playbook也会在localhost上运行
- hosts: all:!localhost
gather_facts: no
tasks:
...
库存文件如下:
[localhost]
127.0.0.1 ansible_connection=local
[cluster]
ip1
ip2
ip3
然而,尝试- hosts: cluster
,有时仍然在localhost
上运行。
可以通过cli限制组:
ansible-playbook playbooks/PLAYBOOK_NAME.yml --limit 'all:!localhost'
我的目标是限制从剧本源代码运行游戏的组。
答案
- name: Ensure dir exists
file:
path: example/path
state: directory
owner: user
group: group
mode: 0755
when: inventory_hostname in groups['cluster']
以下是诀窍。它仅在您希望的组上运行任务。
when: inventory_hostname in groups['cluster']
另一答案
然后在所需的主机组上运行
- hosts: cluster,cluster1,cluster2
gather_facts: no
tasks:
...
或者在清单中,您可以通过以下方式对主机组进行分组:
[cluster]
ip1
ip2
ip3
[clusters:children]
cluster
cluster1
然后在群集组上运行playbook
以上是关于限制组从playbook源代码运行播放的主要内容,如果未能解决你的问题,请参考以下文章