2016-07-05 24 views
12

Próbuję wykonać mój pierwszy skrypt powłoki zdalnej w Ansible. Najpierw wygenerowałem i skopiowałem klucze SSH. Oto mój plik yml:Odpowiedz: brak hostów pasujących do

--- 
- 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 

Podczas uruchamiania Playbook jednak, wynik brzmi „Nie gospodarze dopasowane”:

ansible-playbook setup.yml 

PLAY [Ansible remote shell 
******************************************** 
skipping: no hosts matched 

PLAY RECAP ******************************************************************** 

Próbowałem również przy użyciu nazwy hosta (zamiast adresu IP), jednak nic się nie zmieniło. Jakaś pomoc ?

Odpowiedz

16

Musisz zdefiniować inwentarz hosta.

Domyślną ścieżką do tego jest /etc/ansible/hosts (jak również podane przez helloV).

Dla minimalnej przykład można również określić inwentaryzacji w wierszu poleceń:

ansible-playbook setup.yml -i 192.168.10.1, 

Kropka przecinek sprawia, że ​​listy, tak że ansibl Analizuje directy. W przeciwnym razie można uruchomić

ansible-playbook setup.yml -i myinventory 

gdzie myinventory jest plikiem zawierającym listę hostów.

+0

Dziękuję za życzliwą odpowiedź i za minimalny przykład z wiersza poleceń – Carla

+0

Czy mogę zachować oba zapasy hostów-/etc/ansible/hosts, a także określić -i hostip? – Illusionist

+0

Nie mogę znaleźć mojego '/ etc/ansible/hosts'. Ciągle mi mówi Nie znaleziono katalogu –

4

Pomocnik nie wie nic o twoim hoście. Jeśli jest w dynamicznej inwentaryzacji, można przekazać skrypt zasobów za pomocą opcji -i lub edytować /etc/ansible/hosts i dodaj wpis do gospodarza, takich jak:

[myhost] 
192.168.10.1 

i określ hosta w playbook jak:

hosts: myhost 
+0

Bardzo dziękuję za odpowiedź – Carla