Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
| system_administration:automation:using_ansible [2023/08/12 19:05] – aziz | system_administration:automation:using_ansible [2023/08/13 13:48] (current) – [Déployer le script de vérification d'accès SSH] aziz | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{tag> | ||
| ====== Configuration des serveurs avec Ansible ====== | ====== Configuration des serveurs avec Ansible ====== | ||
| - | [[https:// | + | [[https:// |
| + | |||
| + | Le dépôt https:// | ||
| + | |||
| + | < | ||
| + | playbook$ tree -L 1 -F --dirsfirst | ||
| + | . | ||
| + | ├── files/ | ||
| + | ├── waiting_validation/ | ||
| + | ├── ansible.cfg | ||
| + | ├── AuthorizedKeysCommand.yml | ||
| + | ├── inventory | ||
| + | ├── InventoryToSshConfig.yml | ||
| + | ├── README | ||
| + | ├── UpdateBin.yml | ||
| + | └── UpdateDotfiles.yml | ||
| + | |||
| + | |||
| + | 2 directories, | ||
| + | </ | ||
| + | |||
| + | |||
| + | ===== Le fichier d' | ||
| + | Le fichier '' | ||
| + | |||
| + | Extrait : | ||
| + | |||
| + | < | ||
| + | ########## | ||
| + | # PROD # | ||
| + | ########## | ||
| + | [prodgroup] | ||
| + | prod | ||
| + | igpro ansible_user=odoo | ||
| + | officina | ||
| + | elosys.net | ||
| + | bastion | ||
| + | |||
| + | ############# | ||
| + | # NEW SDDEV # | ||
| + | ############# | ||
| + | [sddevgroup] | ||
| + | sddev | ||
| + | dockerservice | ||
| + | backup | ||
| + | </ | ||
| + | |||
| + | Le fichier '' | ||
| + | * les détails de connexion qu' | ||
| + | * peut contenir quelques variables qui seront utilisées dans les playbooks (les fichiers de recettes) | ||
| + | |||
| + | Le nom du fichier d' | ||
| + | |||
| + | ===== Installer Ansible ===== | ||
| + | La suite de commandes suivantes installera Ansible dans votre espace personnel. ((Ce ne sera pas une installation système. Les autres utilisateurs du système n' | ||
| + | |||
| + | < | ||
| + | $ python3 -m pip install --user ansible | ||
| + | $ python3 -m pip install --user argcomplete | ||
| + | $ activate-global-python-argcomplete --user | ||
| + | </ | ||
| + | |||
| + | ===== Premier playbook InventoryToSshConfig.yml ===== | ||
| + | |||
| + | En exécutant dans un terminal ((Cela suppose que vous avez au préalable correctement initialisé un dossier '' | ||
| + | |||
| + | < | ||
| + | $ ansible-playbook InventoryToSshConfig.yml | ||
| + | </ | ||
| + | |||
| + | * un fichier '' | ||
| + | * si le fichier '' | ||
| + | * un dossier '' | ||
| + | |||
| + | |||
| + | En jouant cet Ansible playbook, pour chaque ligne de définition d'un serveur dans le fichier '' | ||
| + | |||
| + | Exemple : | ||
| + | Pour la ligne suivante dans le fichier '' | ||
| + | |||
| + | < | ||
| + | prod | ||
| + | </ | ||
| + | |||
| + | La configuration suivante sera créée dans le fichier | ||
| + | |||
| + | <code ini> | ||
| + | # https:// | ||
| + | host prod | ||
| + | hostname sd-135347.dedibox.fr | ||
| + | user admin | ||
| + | port 22 | ||
| + | </ | ||
| + | |||
| + | Vous disposerez ainsi de l' | ||
| + | |||
| + | ===== Déployer le script de vérification d' | ||
| + | Comme expliqué sur [[services: | ||
| + | |||
| + | Le playbook '' | ||
| + | |||
| + | Après avoir ajouté les informations de connection de la nouvelle machine dans le fichier '' | ||
| + | |||
| + | < | ||
| + | $ ansible-playbook AuthorizedKeysCommand.yml --limit newmachine | ||
| + | </ | ||
| + | |||
| + | '' | ||