Невозможно: нет хостов
Я пытаюсь выполнить мой первый удаленный сценарий оболочки на Ansible. Сначала я сгенерировал и скопировал ключи SSH. Вот мой yml файл:
---
- name: Ansible remote shell
hosts: 192.168.10.1
user: myuser1
become: true
become_user: jboss
tasks:
- name: Hello server
shell: /home/jboss/script.sh
Однако при запуске playbook результат "нет хостов согласован":
ansible-playbook setup.yml
PLAY [Ansible remote shell
********************************************
skipping: no hosts matched
PLAY RECAP ********************************************************************
Я также пробовал использовать имя хоста (вместо IP-адреса), однако ничего не изменилось. Любая помощь?
Ответы
Ответ 1
Вам необходимо определить инвентарь хоста.
Путь по умолчанию для этого - /etc/ansible/hosts
(как также указано helloV).
Для минимального примера вы также можете указать инвентарь в командной строке:
ansible-playbook setup.yml -i 192.168.10.1,
Задняя запятая делает его списком, таким образом, чтобы он анализировал его прямо. В противном случае вы можете запустить
ansible-playbook setup.yml -i myinventory
где myinventory
- это файл, в котором перечислены ваши хосты.
Ответ 2
Ansible ничего не знает о вашем хосте. Если он находится в динамической инвентаризации, вы можете передать сценарий инвентаризации с помощью опции -i или изменить /etc/ansible/hosts
и добавить запись для своего хоста, например:
[myhost]
192.168.10.1
и укажите хост в playbook как:
hosts: myhost