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

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

我正在寻找一种使用 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

答案1

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

ansible hostname -m setup

查看文档了解更多信息。

我猜你正在寻找默认的 ip4 地址。也就是ansible_default_ipv4。你可以像这样访问变量的值:

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

相关内容