Ansible инвентарь, сделайте ansible_host указывать на два частных IP-адреса - PullRequest
0 голосов
/ 25 апреля 2020

хотел узнать, какой синтаксис используется для указания ansible_host на два разных адреса

[my_service]
dev_my_service_01 ansible_host=10.10.10.10

или

dev_my_service_01 ansible_host=10.10.10.10 20.20.20.20

или

dev_my_service_01 ansible_host=10.10.10.10/20.20.20.20

нажмите либо на этот, либо на этот адрес.

1 Ответ

1 голос
/ 26 апреля 2020

Похоже, что вы хотите условно определить dev_my_service_01, что можно сделать одним из двух способов:

  • добавить две записи инвентаря, для dev_my_service_01a и dev_my_service_01b, и просто примите, что по крайней мере одна игра потерпит неудачу
  • или начнется с только localhost в игре, затем используйте add_host:, поскольку localhost узнает, какой из двух IP-адресов является " реальный ", вроде как фрагмент ниже
- hosts: localhost
  gather_facts: no
  tasks:
  - command: ping -c 1 10.10.10.10
    ignore_errors: yes
    register: is_10
  - # etc etc
  - add_host:
     name: '{{ "10.10.10.10" if (is_10 is success) else "20.20.20.20" }}'
     groups:
     - my_service
- hosts: my_service
  tasks:
  - debug:
      msg: hello from the discovered host {{ ansible_host }}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...