Ansible инвентарь: как определить хосты по порту - PullRequest
0 голосов
/ 07 мая 2020

Я установил 2 сервера для тестирования, которые находятся за сетью NAT. Поэтому я настроил переадресацию портов на порт S SH для них обоих.

Мой файл инвентаризации выглядит так:

[webservers]
example.com:12021
example.com:12121

[webservers:vars]
ansible_user=root
ansible_ssh_private_key_file=~/test/keys/id_ed25519

Но Ansible определяет только один из них (в зависимости от того, что первый в списке). Мой «взлом» для запуска команд ansible -playbook на обоих из них заключается в изменении порядка в списке хостов и двойном запуске playbook.

Итак, есть ли способ идентифицировать хосты по номеру порта , а не по имени хоста?

Заранее спасибо.

1 Ответ

1 голос
/ 07 мая 2020

Используйте любой ярлык:

[webservers]
server1 ansible_host=example.com ansible_port=12021
server2 ansible_host=example.com ansible_port=12121
...