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 ?
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
où myinventory
est un fichier répertoriant vos hôtes.
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