IREX - Ansible: Établissement d'une connexion ssh dans un playbook ansible.
Ansible nous procure une capacité d'exécuter des tâches, faire des configurations et déployer les logiciels depuis un nœud master. Mais avant, une connexion via ssh est nécessaire.
Qu'est ce que Ansible?
Quels sont les prérequis pour l'établissement d'une connexion?
Génération d'une paire de clé ssh par le noeud master.
Copie de la clé publique vers le noeud manager.
Playbook exemple
- Qu'est ce que Ansible?
- Quels sont les prérequis?
- du nom de l'utilisateur avec lequel on se connectera sur le noeud à manager
- le mot de passe de l'utilisateur en question
- l'adresse IP ou le nom d'hôte du noeud en question.
- Généreration d'une paire de clés ssh par le noeud master
- Suppression de l'ancienne clé ssh
- Génération de la nouvelle clé
- Copie de la clé publique vers le noeud manager
- Installation de l'outil sshpass
- Copie de la clé publique
- Playbook exemple
- Contenu du fichier inventory.ini Notre fichier inventory.ini contiendra cette ligne de code:
- Contenu du fichier playbook.yml
- Resultat de l'exécution
Ansible est une plate-forme logicielle libre pour la configuration et la gestion des ordinateurs. Elle combine le déploiement de logiciels multi-nœuds, l'exécution des tâches ad-hoc et la gestion de configuration. Pour pouvoir effectuer des configurations sur certains des noeuds (appelés noeuds manager), nous avant besoin d'établir une connexion via ssh avec le noeud master. Mais donc, comment faire cela de façon automatique dans notre playbook ansible de déploiement? la réponse à cette question fera l'objet de cet article.
Avant d'établir cette connexion, nous aurons besoin des informations citées ci-dessous relative au noeud sur lequel seront effectuer les configurations:
Pour ce faire, on se rassure d'avoir supprimé l'ancienne clé présente afin d'éviter les prompts lors de l'exécution du code. Grâce à l'outil ssh-keygen, nous allons générer une paire de clés (privée et publique) qui se retrouvera dans le dossier personnel et par défaut de l'utilisateur connecté sur le noeud master au moment de l'exécution de la commande. Le bout de code ci-dessous nous montre comment le faire.


La copie de la clé publique sur le noeud gérer est nécessaire pour éviter que le noeud master ai à s'authentifier lors de la demande de connexion. L'outil sshpass nous sevira pour ce faire et donc on peut se rassurer que celui-ci soit installer avant son utilisation.


Le playbook sur l'image ci-dessous nous donne une idée générale sur les différentes tâches qui doivent être exécutées afin que la connexion soit parfaitement établir entre le noeud master et le noeud sur lequel se fera l'installation ou les configurations. Nous arons comme ansible le demande, d'un fichier inventaire qui lui contiendra le/les hôte(s) sur lequel sera exécute notre code. Nous le nommerons inventory.ini et son contenu est présenté ci-dessous.



Une fois cette connexion établie, nous pouvons définir par la suite nos autres tâches d'installation et de configuration des logiciels sur le noeud manager.

Huliam Kenfack
Ingénieur Cloud / DevOps
No comments yet. Start a new discussion.