Назад | Перейти на главную страницу

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

Да, вы можете сделать это с помощью 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