Ansible - 使用主机 IP 作为文件复制的变量

wis*_*shi 3 configuration-management ansible

我正在寻找一种使用 Ansible 进行配置管理的方法。

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

Ansible 能否获取每个主机的 IP 1.2.3.4 并将文件部署到主机?使用变量会使配置更容易。

- copy: src=/repo/$IP/file.conf dest=/etc/file.conf owner=foo group=foo mode=0644
Run Code Online (Sandbox Code Playgroud)

Hen*_*gel 7

是的,你可以用 Ansible 做到这一点。Ansible 在每次运行之前收集系统的事实。您可以使用以下setup模块检查有关系统的这些事实:

ansible hostname -m setup
Run Code Online (Sandbox Code Playgroud)

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

您正在寻找我假设的默认 ip4 地址。这将是ansible_default_ipv4。您可以像这样访问变量的值:

- copy: src=/repo/{{ ansible_default_ipv4.address }}/file.conf dest=/etc/file.conf owner=foo group=foo mode=0644
Run Code Online (Sandbox Code Playgroud)