Se préparer à utiliser Ansible

Le dépôt a été conçu de sorte que n’importe quel·le administrateur·ice puisse l’utiliser (vous, moi…) 😊. Pour cette raison, il y quelques prérequis pour faire fonctionner Ansible. Ces opérations ne sont à faire qu’une seule fois.

Il faut disposer d’un accès SSH sur l’ensemble des hôtes déclarés dans l’inventaire utilisés dans les playbooks :

  • Le login et le mot de passe doit être le même sur toutes les machines ;
  • Les utilisateurs sont dans le groupe sudo ;
  • requiretty n’est pas activé dans /etc/sudoers (voir la documentation Ansible) ;
  • L’accès SSH se fait par la même clé et pas par mot de passe.

Note:

L’inventaire des hôtes peut être retrouvé dans le fichier inv.yml.

Picasoft utilise un serveur LDAP centralisé pour la gestion des utilisateurs, mots de passe et clés, ces prérequis sont d’avance respectés.

Les hôtes doivent avoir Python 3 d’installé.

Important:

En d’autres termes, Ansible aura les mêmes autorisations que ton utilisateur ainsi que la capacité d’élever ses privilèges, lui donnant les droits root. Il faut donc redoubler de prudence.

Vérifier que la machine est équipée du paquet openssh et du programme ssh-askpass.

Installer Ansible en suivant la documentation.

Installer les modules supplémentaires :

snippet.bash
ansible-galaxy collection install -r req/requirements.yml
pip install -r req/requirements.txt

Définir les variables d’environnement suivantes (export, .bashrc…) :

snippet.bash
PICASOFT_SSH_USER=<utilisateur sur les machines>
PICASOFT_SSH_KEY_PATH=<chemin de la clé privée>

Vérifier que tout fonctionne avec la commande :

snippet.bash
ansible-playbook -K playbooks/ssh.yml

Cette commande teste les accès SSH pour tous les hôtes de l’inventaire et termine si l’accès est autorisé.

Note:

Le mot de passe demandé est celui de l’utilisateur sur les machines.

  • technique/ansible/req.txt
  • de qduchemi