L'utilisation de commandes ad hoc est une méthode impérative et n'est pas meilleure que l'utilisation du client SSH pour exécuter des commandes à distance.
Vous avez besoin de deux composants pour en faire une véritable orchestration impérative :un playbook et des modules. Le playbook est la base du déploiement, de la configuration et de la maintenance de votre système. Il peut tout orchestrer, même entre hôtes ! Un playbook est là pour décrire l'état que vous souhaitez atteindre. Les playbooks sont écrits en langage YAML et peuvent être exécutés avec la commande ansible-playbook :
$ ansible-playbook [filename]
Le deuxième composant est le module. La meilleure façon de décrire un module est :la tâche à exécuter pour atteindre l'état souhaité. Ils sont également appelés plugins de tâche ou plugins de bibliothèque.
Si vous rencontrez l'erreur ci-dessous lors de l'exécution de la commande ansible-playbook :
ansible-playbook: command not found
vous pouvez essayer d'installer le package ci-dessous selon votre choix de distribution.
Répartition | Commande |
---|---|
OS X | brew install ansible |
Debian | apt-get install ansible |
Ubuntu | apt-get install ansible |
Alpin | apk ajouter ansible |
Arch Linux | pacman -S ansible |
Kali Linux | apt-get install ansible |
CentOS | yum installer ansible |
Fédora | dnf installer ansible |
Raspbian | apt-get install ansible |
Exemples de commande ansible-playbook
1. Exécutez des tâches dans le playbook :
$ ansible-playbook playbook
2. Exécutez des tâches dans le playbook avec un inventaire d'hôte personnalisé :
$ ansible-playbook playbook -i inventory_file
3. Exécutez des tâches dans le playbook avec des variables supplémentaires définies via la ligne de commande :
$ ansible-playbook playbook -e "variable1=value1 variable2=value2"
4. Exécutez des tâches dans le playbook avec des variables supplémentaires définies dans un fichier JSON :
$ ansible-playbook playbook -e "@variables.json"
5. Exécutez des tâches dans le playbook pour les tags donnés :
$ ansible-playbook playbook --tags tag1,tag2
6. Exécutez des tâches dans un playbook en commençant par une tâche spécifique :
$ ansible-playbook playbook --start-at task_name
7. Pour vérifier la syntaxe Ansible, utilisez :
$ ansible-playbook --syntax-check Ansible/example1.yaml