Génération d'une clé SSH :
Voir le tutoriel
Ajout de la clé sur un client :
Commande de tests
Si l'injection a fonctionné, on n'a pas besoin de taper de mot de passe pour se connecter
Malgré que le compte soit dans le groupe sudo, il nécessite toujours de taper un mot de passe pour
Les commandes nécessitant une élévation de privilège. Pour la retirer, il faut : sudo visudo
Fichier par défaut du système : /etc/ansible/hosts
Fichier d'inventaire par projet : [ A compléter ]
Réaliser un ping sur tous les clients
Option | Arguments | Description |
---|---|---|
-m | ping | Charge le module en argument |
None | all | Selectionne toutes les IP du fichier d'inventaire |
Option | Arguments | Description |
---|---|---|
None | 192.168.1.1 | IP du client à utiliser |
-m | setup | Charge le module shell |
-a | "filter=*python*" | Filtre les résultats en fonction de leur clé |
Option | Arguments | Description |
---|---|---|
None | 192.168.1.1 | IP du client à utiliser |
-m | shell | Charge le module shell |
-b | None | Elevation de privilège sudo |
-K | None | Demande le mot de passe sudo dans stdin |
Note : Eviter les modules shell et raw dans les playbooks car ils ne sont pas idempotents
Option | Arguments | Description |
---|---|---|
None | all | Utilise toutes les IP présentes dans l'inventaire |
-m | copy | Charge le module copy pour la copie de fichier |
-a | "src=test.txt …" | Précise les paramètres de commande pour le module |
Option | Arguments | Description |
---|---|---|
None | all | Utilise toutes les IP présentes dans l'inventaire |
-m | fetch | Charge le module fetch pour télécharger des fichiers |
-a | "src=test.txt …" | Précise les paramètres de commande pour le module |
Ouvrir le port HTTP pour nginx : article
=> Problème rencontré pour le Lab4 de la formation Ansible
Installation de nginx dans deux clients (Debian et Centos 7)
Dans un fichier playbook nginx.yml
OS_Family vs Distribution : Lien Article
Les variables peuvent être définies de deux manières:
Arborescence du projet :
webserver.yml
group_vars/demoservers
host_vars/192.168.1.1
Dans le playbook :
install_result
est un dictionnaire et peut être déréférencé.
test_server.yml
html/index.html.j2
Cette commande génère une arborescence de dossier de fichier à la manière de
django startapp nginx
avec les structures essentielles à la déclaration d'un rôle