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)
是的,你可以用 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)