Installation et configuration de Ansible sur ubuntu 20.04





Ansible est un outil open source conçu pour la gestion de la configuration et de déploiement d'applications et qui permet de contrôler plusieurs machines distantes de manière automatisée.

Ansible utilise un canal SSH pour la communication afin de contrôler les machines/serveurs distants, ainsi tout système ayant un port SSH ouvert peut être configuré par une machine Ansible.

Il y a deux façons différentes par lesquelles Ansible peut interagir avec l'hôte ou la machine distante, soit via des outils en ligne de commande ou ses scripts de configuration (Playbook), qui sont principalement écrits au format YAML

Avant de commencer ce tutoriel, les conditions requises sont les suivantes :

Une machine qui agira en tant que nœud de contrôle ansible, qui sera utilisée pour connecter et contrôler les machines/serveurs distants. Le nœud de contrôle peut être soit votre machine locale, soit un serveur Ansible sur le cloud ou on-premise, dans notre cas nous utiliseront une machine Ubuntu  20.04 sur Microsoft Azure.

Un utilisateur non root avec des privilèges sudo.

Un ou plusieurs hôtes distants, qui seront configurés pour s'automatiser via votre nœud de contrôle ansible.

Remarque : Veuillez vous assurer que le nœud de contrôle a un accès SSH aux systèmes/machines/serveurs.


Installation de Ansible :


Installation via PPA (Personal Package Archive) :

Tout d'abord, vous devez inclure le PPA du projet officiel dans votre système en exécutant la commande suivante :



sudo apt update && sudo apt-add-repository -y --update ppa:ansible/ansible




Pour vous assurer que le système prends en compte les packets ajouté dans l'étape citée si-dessus , actualisez à nouveau l'index des paquets de votre machine :

sudo apt update


Votre machine est maintenant prête à installer Ansible ; vous pouvez l'installer en exécutant la commande suivante :

sudo apt install ansible -y




Vous pouvez vérifier l'installation par cette commande :

ansible --version

Mise en place du fichier d'inventaire du nœud de contrôle :

Le fichier d'inventaire est constitué d'informations sur les machines/systèmes/serveurs hôtes que vous allez gérer avec Ansible et il n'y a absolument aucune restriction quant au nombre d'hôtes que vous pouvez ajouter à votre nœud de contrôle, pour les hôtes elles peuvent être organisées en groupes et sous-groupes plus petits selon votre structure d'organisation ou les exigences du système d'information.

Dans le fichier d'inventaire, vous devrez souvent définir diverses variables, qui régissent le fonctionnement de votre playbook ;
Par exemple, ansible_python_interpreter est l'une de ces variables que vous allez utiliser régulièrement.
Vous pouvez trouver le fichier d'inventaire Ansible dans le répertoire /etc/ansible/hosts comme illustré dans l'image ci-dessous.





Dans le sous-groupe all:vars, nous utilisons ansible_python_interpreter  comme paramètre d'hôte, qui sera invoqué pour tous les hôtes spécifiés sous le groupe webservers. La raison est que nous voulons que les machines du groupe webservers utilisent la version 3 de python et non la 2, même si la version par défaut dans ubuntu 20.04 est la 3.

Vous pouvez consulter linventaire des machines en exécutant la commande suivante :


ansible-inventory --list -y





Configuration des clés SSH

Les clés SSH sont le moyen le plus sûr de s'assurer que votre connexion reste sécurisée, et aussi, vous ne serez pas confrontés à des problèmes en connectant les hôtes Ansible.





Vous devez maintenant copier la clé ssh sur vos hôtes Ansible. Avant d'exécuter la commande ssh-copy, assurez-vous que vous avez accès à vos serveurs distants. Pour copier la clé sur votre hôte distant, utilisez cette commande ;


ssh-copy-id  -i nom_de_la_clé_ssh nom_utilisateur_hote_cible@ip_de_la_hote_cible



 Maintenant à partir du nœud de contrôle Ansible vous pouvez essayer la connectivité vers vos serveurs listés dans l'inventaire Ansible comme illustré dans l'image ci-dessous


Vous pouvez aussi tester la connectivité ssh sans mot de passe en vous connectant sur l'une des hotes distante ou vous avez copié la clé ssh






Dans l'exemple ci-dessous on va tester l'exécution d'une commande "ps" qui affichera les processus en cours d'exécution sur les serveurs gérés avec la commande : ansible all -a "ps" -u walid





Voilà, a cette étape vous êtes prêt à écrire vos playbook et à travailler sur Ansible ! 









Enregistrer un commentaire

Plus récente Plus ancienne