Ansible – 使用主机IP作为文件副本的variables

我正在寻找与Ansible进行configurationpipe理的方法。

我有结构repo / 1.2.3.4 / file.conf。

Ansible可以获得每台主机的IP 1.2.3.4并将文件部署到主机上吗? 使用variables将使configuration更容易。

- copy: src=/repo/$IP/file.conf dest=/etc/file.conf owner=foo group=foo mode=0644 

是的,你可以用Ansible来做到这一点。 Ansible在每次运行之前都会将系统的事实进行汇总。 你可以用这样的setup模块检查这些关于系统的事实:

 ansible hostname -m setup 

检查文档以获取更多信息。

您正在寻找我所设想的默认ip4地址。 这将是ansible_default_ipv4 。 你可以像这样访问variables的值:

 - copy: src=/repo/{{ ansible_default_ipv4.address }}/file.conf dest=/etc/file.conf owner=foo group=foo mode=0644