在清单文件中指定组外主机
这是一种在ansible-playbook执行时的清单文件中针对组外的主机进行操作的方法。
库存文件将使用以下内容。
# http://docs.ansible.com/ansible/intro_inventory.html
mail.example.com #これ。playbookのhostsでallを指定すれば対象になるが…。
[webservers] #いつも使う
foo.example.com
bar.example.com
[dbservers]
one.example.com
two.example.com
three.example.com
要指定组外的主机,只需在Playbook的hosts部分直接指定主机。
- name: Ansible-Sample-TDD
hosts: mail.example.com #そのままホストを指定する。
user: root
roles:
- nginx
- mariadb
当您尝试使用”–list-tasks”运行时,它会针对目标进行操作。
$ ansible-playbook site.yml -i hosts --list-hosts
playbook: site.yml
play #1 (Ansible-Sample-TDD): host count=1
mail.example.com
请注意,即使在这种情况下,如果不取消Inventory文件的指定,将无法运行。
$ ansible-playbook site.yml --list-hosts
ERROR: Unable to find an inventory file, specify one with -i ?
我在自定义宝石修复中注意到Ansible » 文档 » 模式中微妙地写着,所以我写下了备忘录。