问题描述
在使用Ansible时,有一个问题是如何在主机组中限制运行命令的主机数量。他的清单文件中有以下主机组:
[primary]
host1
host2
[standby]
host3
host4
他的.yml
文件中有以下配置:
---
- hosts: primary
roles:
- automation
例如,他想在只有host2
上运行以下命令:ansible-playbook -i /path test.yml --tags automation
。他应该怎么做?
解决方案
请注意以下操作注意版本差异及修改前做好备份。
方案1
使用--limit
选项选择主机的子集来运行命令:
ansible-playbook -i /path test.yml --tags automation --limit host2
根据ansible-playbook文档的描述:
进一步限制所选主机的额外模式
方案2
请注意,这些选项可能会因版本而异。
还有其他一些选项可以限制主机的数量,例如:
–--limit 'standby,primary'
:限制为standby
和primary
主机组的主机。
–--limit 'standby:!host3'
:限制为standby
主机组中除host3
之外的主机。
请根据您的具体需求选择适当的选项。
正文完