Для этого можно использовать поиск dig
. Затем добавьте строки в файл хостов с lineinefile
.
Обратите внимание , что модулю dig
требуется Python библиотека dnspython
для работы . Так что вы можете также захотеть установить его с Ansible.
Итак, учитывая playbook:
- hosts: all
gather_facts: no
tasks:
- package:
name: py-dnspython
state: present
- lineinfile:
path: /etc/hosts
line: "{{ item }} ip-{{ item | replace('.', '-') }}"
loop: "{{ lookup('dig', 'stackoverflow.com.').split(',') }}"
Это дает резюме:
PLAY [all] *********************************************************************************************
TASK [package] *****************************************************************************************
changed: [localhost]
TASK [lineinfile] **************************************************************************************
changed: [localhost] => (item=151.101.1.69)
changed: [localhost] => (item=151.101.65.69)
changed: [localhost] => (item=151.101.129.69)
changed: [localhost] => (item=151.101.193.69)
PLAY RECAP *********************************************************************************************
localhost : ok=2 changed=2 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
И заполните файл hosts соответственно:
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.3 21eef8264e0c
151.101.1.69 ip-151-101-1-69
151.101.65.69 ip-151-101-65-69
151.101.129.69 ip-151-101-129-69
151.101.193.69 ip-151-101-193-69