it-swarm.com.ru

Ansible: нет подходящих хостов

Я пытаюсь выполнить свой первый удаленный сценарий Shell на 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-адреса), однако ничего не изменилось. Любая помощь ?

18
Carla

Вам необходимо определить инвентарь хоста.

Путь по умолчанию для этого - /etc/ansible/hosts (как также указано helloV).

Для минимального примера вы также можете указать инвентарь в командной строке:

ansible-playbook setup.yml -i 192.168.10.1,

Завершающая запятая делает его списком, так что ansible анализирует его сразу. В противном случае вы можете запустить

ansible-playbook setup.yml -i myinventory

где myinventory - это список ваших хостов.

29
Robin Roth

Ansible ничего не знает о вашем хосте. Если он находится в динамической инвентаризации, вы можете передать сценарий инвентаризации с помощью опции -i или отредактировать /etc/ansible/hosts и ​​добавьте запись для своего хоста, например:

[myhost]
192.168.10.1

и укажите Host в playbook как:

hosts: myhost
10
helloV