Etude : Différence entre versions

De TARENTINO
Aller à la navigationAller à la recherche
Ligne 4 : Ligne 4 :
 
== Automatisation et déploiement ==
 
== Automatisation et déploiement ==
 
* Ansible est un outil d'automatisation informatique écrit en Python.
 
* Ansible est un outil d'automatisation informatique écrit en Python.
[[Fichier:15629187859594.png|cadre]]
+
[[Fichier:15629187859594.png|cadre|gauche]]
* Il permet d'automatiser des taches d'installation et automatisation sur des serveurs distants appelés Nodes.
+
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é.
+
Il convient pour cela que chaque Node ait un service SSH installé.
* Le serveur est appelé Node manager.
+
Le serveur est appelé Node manager.
* Afin de pousser les installations, le Node Manager utilise des scripts dans des fichiers de configuration en YAML.
+
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.
+
Fonctionnement en mode Push, Ansible n'a pas besoin d'agent.
  
 
== Fichiers de configuration ==
 
== Fichiers de configuration ==

Version du 12 novembre 2020 à 10:39

Etude Ansible

Automatisation et déploiement

  • Ansible est un outil d'automatisation informatique écrit en Python.
15629187859594.png
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
    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é.

Node manager:

1 adduser user-ansible
2 apt install python-virtualenv sshpass
3 su - user-ansible
4 virtualenv ansible2.7.10
5 source ansible2.7.10/bin/activate
6 pip install ansible==2.7.10
7 ansible --version

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.....