在清单文件中指定组外主机

这是一种在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 » 文档 » 模式中微妙地写着,所以我写下了备忘录。

广告
将在 10 秒后关闭
bannerAds