web-dev-qa-db-fra.com

Ansible: aucun hôte ne correspond

J'essaie d'exécuter mon premier script Shell à distance sur Ansible. J'ai d'abord généré et copié les clés SSH. Voici mon fichier 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

Lors du lancement du livre de jeu, le résultat est "aucun hôte ne correspond":

ansible-playbook setup.yml 

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

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

J'ai également essayé d'utiliser le nom d'hôte (au lieu de l'adresse IP), mais rien n'a changé. De l'aide ?

18
Carla

Vous devez définir un inventaire d'hôte.

Le chemin par défaut pour cela est /etc/ansible/hosts (comme indiqué par helloV).

Pour un exemple minimal, vous pouvez également spécifier un inventaire dans la ligne de commande:

ansible-playbook setup.yml -i 192.168.10.1,

La virgule finale en fait une liste, telle que ansible l’analyse directement. Sinon, vous pouvez courir

ansible-playbook setup.yml -i myinventory

myinventory est un fichier répertoriant vos hôtes.

29
Robin Roth

Ansible ne sait rien de votre hôte. S'il s'agit d'un inventaire dynamique, vous pouvez transmettre le script d'inventaire à l'aide de l'option -i ou éditer /etc/ansible/hosts et ajoutez une entrée pour votre hôte comme:

[myhost]
192.168.10.1

et spécifiez l'hôte dans le playbook comme suit:

hosts: myhost
10
helloV