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

Как выполнять задачи на другом хосте рядом с целевым хостом в Ansible?

Я хотел бы запустить playbook с задачами сервала на целевом хосте «A». Кроме того, я хотел бы установить DNS-запись для хоста «A» на хосте DNS-сервера «B». Желательно использовать только одну книгу. Хозяева игры будут установлены на «все», воспроизведение для установки записей DNS будет ограничено хостом «B». Хост «B» также будет фиксированным и может быть жестко запрограммирован, например, он должен использовать. ansible_hostname хоста A в качестве параметра. Любая идея, как этого добиться?

Ты можешь использовать delegate_to.

- name: set dns record
  win_dns_record:
    name: "{{ inventory_hostname_short }}"
    type: A
    value: "{{ item }}"
    zone: "{{ ansible_domain }}"
  delegate_to: 'b'
  loop: "{{ ansible_all_ipv4_addresses }}"

Задача будет перебирать все IP-адреса машины и запускать «B» для создания записей DNS. Наверное, не лучшая конфигурация, но все необходимое показывает.