|
|
| Ligne 1 : |
Ligne 1 : |
| | {{Navigationp}}{{Sidebaradm}}{{VideoAnsible}} | | {{Navigationp}}{{Sidebaradm}}{{VideoAnsible}} |
| | = Etude Ansible = | | = Etude Ansible = |
| − | * Ref: [https://openclassrooms.com/fr/courses/2035796-utilisez-ansible-pour-automatiser-vos-taches-de-configuration/6371335-installez-ansible-dans-votre-environnement <font color=green>'''Openclassroom'''</font>]
| |
| − | == Automatisation et déploiement ==
| |
| − | Ansible est un outil d'automatisation informatique écrit en Python.
| |
| − | [[Fichier:15629187859594.png|cadre|gauche]]<br>
| |
| − | Il permet d'automatiser des taches d'installation et automatisation sur des serveurs distants appelés Nodes.
| |
| − | Il convient pour cela que chaque Node ait un service SSH installé.
| |
| − | Le serveur est appelé Node manager.
| |
| − | Afin de pousser les installations, le Node Manager utilise des scripts dans des fichiers de configuration en YAML.
| |
| − | Fonctionnement en mode Push, Ansible n'a pas besoin d'agent.
| |
| − |
| |
| − | == Fichiers de configuration ==
| |
| − | * Chaque fichiers Yaml comportent une suite de tâches à effectuer qui utilisent un module qui effectuera une action
| |
| − | == Installation de Ansible ==
| |
| − | * Les Nodes ont besoin de SSH et Python
| |
| − | * Installation sur le Node Manager avec PIP (gestionnaire de paquets Python)
| |
| − | * Avant l'installation, créer le contexte d'exécution. Créer et utiliser un simple utilisateur Linux<br>pour lancer les commandes Ansible et mettre en place un environnement de travail virtuel (Paquet python virtualenv)
| |
| − | * Virtualenv sera dédié entièrement à l'exécution d'Ansible et fournira un environnement d'exécution cloisonné et un utilisateur dédié.
| |
| − | <font color=red>'''Node manager:'''</font>
| |
| − | <syntaxhighlight lang="shell" line='line'>
| |
| − | adduser user-ansible
| |
| − | apt install python-virtualenv sshpass
| |
| − | su - user-ansible
| |
| − | virtualenv ansible2.7.10
| |
| − | source ansible2.7.10/bin/activate
| |
| − | pip install ansible==2.7.10
| |
| − | ansible --version
| |
| − | </syntaxhighlight>
| |
| − |
| |
| − | == Communication entre les Node-Managers et les Nodes ==
| |
| − | * Mettre en place les prérequis nécessaires pour établir la communication entre le node manager et les nodes.
| |
| − | === Définir les Nodes ===
| |
| − | * Ansible travaille avec un fichier inventaire contenant la liste des nodes.
| |
| − | * Fichier inventaire.ini:
| |
| − | kali
| |
| − | ubuntu
| |
| − | === Vérifier la connection SSH ===
| |
| − | * Effectuer une connexion ssh root sur les nodes
| |
| − | === Installer Python ===
| |
| − | * Installer Python sur les nodes avec le module ROW
| |
| − | ansible -i inventaire.ini -m raw -a "aptitude install -y python3" http1 --user root --ask-pass
| |
| − |
| |
| − | === Créer un utilisateur sudo ===
| |
| − | * ansible -i inventaire.ini -m debug -a 'msg={{ 'passforce
| |
| − |
| |
| − | === Création des clés SSH ===
| |
| − |
| |
| − | * A suivre.....
| |