Introduction à Ansible
Armand Guio – Ingénieur Système – Présentation en français libre de droits
 Description
 Aspects Techniques
 Applications
 La communauté
Sommaire
Qu’est-ce que le projet Ansible?
Questions sur StackOverflow
 Ansible est une plate-forme logicielle libre
pour la configuration et la gestion de plateformes linux et windows.
 Conçu en 2012 par Michael DeHaan, créateur de Clobber
 Clobber : serveur de provisionning opensource
 Succès en 2015, rachat par RedHat
Qu’est-ce que le projet Ansible?
 Ansible a séduit la communauté OpenSource
 +20 000 projets utilisant ansible
 9e projet python le plus populaire
 +10 000 scripts ansible
 Et les professionnels
 Amazon web services
 Google cloud platform
 Microsoft Azure
 OpenShit by RedHat
 Cisco Systems
 Airbus
Repositories suivis sur GitHub
Popularité sur Debian
Aspects Techniques
 Utiliser Ansible demande:
 Accès SSH
 Librairie python 2.6
 Pas d’agent, rien à maintenir
 Windows: PowerShell remoting
 Connexion
 Utilisateur, accès, droits
 Commandes
 Copie de fichiers
 Installation de paquets apt-get, rpm, yum
 Librairies pythons pour +1300 commandes
Aspects Techniques
 Scripts en YAML
 Lisible, facile à modifier
 Vocabulaire
 Playbook : Ensemble d’actions
 Rôle :Liste d’actions
 Liste d’hôtes
 Variables
Aspects Techniques
 Scripts en YAML
 Lisible, facile à modifier
 Vocabulaire
 Playbook : Ensemble d’actions
 Rôle :Liste d’actions
 Liste d’hôtes
 Variables
 Un Exemple :
 Installer un logiciel
 Définir une configuration
Play [Playbook01] *****************************
Aspects Techniques
 Scripts en YAML
 Lisible, facile à modifier
 Vocabulaire
 Playbook : Ensemble d’actions
 Rôle :Liste d’actions
 Liste d’hôtes
 Variables
 Un Exemple :
 Installer un logiciel
 Définir une configuration
Play [Playbook01] *****************************
Gathering Facts ********************************
Ok: [MachineA.Domain]
Ok: [MachineB.Domain]
Première
connexion
Aspects Techniques
 Scripts en YAML
 Lisible, facile à modifier
 Vocabulaire
 Playbook : Ensemble d’actions
 Rôle :Liste d’actions
 Liste d’hôtes
 Variables
 Un Exemple :
 Installer un logiciel
 Définir une configuration
Play [Playbook01] *****************************
Gathering Facts ********************************
Ok: [MachineA.Domain]
Ok: [MachineB.Domain]
Task: [Installer logiciel] **********************
Ok: [MachineA.Domain]
Changed: [MachineB.Domain]
Première
connexion
Installation
Sauf si déjà présente
Aspects Techniques
 Scripts en YAML
 Lisible, facile à modifier
 Vocabulaire
 Playbook : Ensemble d’actions
 Rôle :Liste d’actions
 Liste d’hôtes
 Variables
 Un Exemple :
 Installer un logiciel
 Définir une configuration
Play [Playbook01] *****************************
Gathering Facts ********************************
Ok: [MachineA.Domain]
Ok: [MachineB.Domain]
Task: [Installer logiciel] **********************
Ok: [MachineA.Domain]
Changed: [MachineB.Domain]
Task: [Copier configuration] *****************
Ok: [MachineA.Domain]
Changed: [MachineB.Domain]
Première
connexion
Installation
Sauf si déjà présente
Copie de configuration
Sauf si même version
Aspects Techniques
 Scripts en YAML
 Lisible, facile à modifier
 Vocabulaire
 Playbook : Ensemble d’actions
 Rôle :Liste d’actions
 Liste d’hôtes
 Variables
 Un Exemple :
 Installer un logiciel
 Définir une configuration
Play [Playbook01] *****************************
Gathering Facts ********************************
Ok: [MachineA.Domain]
Ok: [MachineB.Domain]
Task: [Installer logiciel] **********************
Ok: [MachineA.Domain]
Changed: [MachineB.Domain]
Task: [Copier configuration] *****************
Ok: [MachineA.Domain]
Changed: [MachineB.Domain]
Notified: [Redemarrer logiciel] *************
Changed: [MachineB.Domain]
Première
connexion
Installation
Sauf si déjà présente
Copie de configuration
Sauf si même version
Redémarrage application
Seulement si nouvelle config
Aspects Techniques
 Scripts en YAML
 Lisible, facile à modifier
 Vocabulaire
 Playbook : Ensemble d’actions
 Rôle :Liste d’actions
 Liste d’hôtes
 Variables
 Un Exemple :
 Installer un logiciel
 Définir une configuration
Play [Playbook01] *****************************
Gathering Facts ********************************
Ok: [MachineA.Domain]
Ok: [MachineB.Domain]
Task: [Installer logiciel] **********************
Ok: [MachineA.Domain]
Changed: [MachineB.Domain]
Task: [Copier configuration] *****************
Ok: [MachineA.Domain]
Changed: [MachineB.Domain]
Notified: [Redemarrer logiciel] *************
Changed: [MachineB.Domain]
Play Recap **************************************
[MachineA.Domain]: Ok=3 Changed=0
[MachineB.Domain]: Ok=1 Changed=2
Première
connexion
Installation
Sauf si déjà présente
Copie de configuration
Sauf si même version
Redémarrage application
Seulement si nouvelle config
Résultats
Applications
 Problème:
 6 serveurs complètement différents
 Géré manuellement
 Besoin d’une migration
Public Privé
Test
Prod
Val
Applications
 Problème:
 6 serveurs complètement différents
 Géré manuellement
 Besoin d’une migration
 Solution:
 Ansible
 Installation : Apt - Rpm
 Configuration: Modèles + Variables
 Taches planifiées
 Utilisateurs ssh
Public Privé
Test
Prod
Val
Applications
 Projet Devops
 Application Web
Applications
 Projet Devops
 Application Web
Applications
 Projet Devops
 Application Web
Environnement ✔
Configuration ✔
Applications
 Projet Devops
 Application Web
Environnement ✔
Configuration ✔
La communauté
19
 Ansible sur github
 Projets pour et par la communauté
 Des projets utilisant Ansible
 Des projets contribuant à Ansible
Repositories suivis sur GitHub
La communauté
20
 Ansible Galaxy
 Bibliothèque de Playbook générés par la communauté
 +10 000 projets prêt à l’emploi
 Gérer MongoDB, Mysql, Redis avec Ansible
 Playbook Selenium de l’exemple devops
La communauté
21
21
 Red Hat
 Propriétaires depuis 2015
 Support technique
 Interface graphique Ansible Tower
“Ansible is Simple IT Automation”
 Provisionnement ✓
 Gestion de configuration ✓
 Déploiement d’application ✓
 Déploiement continue ✓
 Gestion de la sécurité ✓
 Orchestration ✓

[FR] Présentatation d'Ansible

  • 1.
    Introduction à Ansible ArmandGuio – Ingénieur Système – Présentation en français libre de droits
  • 2.
     Description  AspectsTechniques  Applications  La communauté Sommaire
  • 3.
    Qu’est-ce que leprojet Ansible? Questions sur StackOverflow  Ansible est une plate-forme logicielle libre pour la configuration et la gestion de plateformes linux et windows.  Conçu en 2012 par Michael DeHaan, créateur de Clobber  Clobber : serveur de provisionning opensource  Succès en 2015, rachat par RedHat
  • 4.
    Qu’est-ce que leprojet Ansible?  Ansible a séduit la communauté OpenSource  +20 000 projets utilisant ansible  9e projet python le plus populaire  +10 000 scripts ansible  Et les professionnels  Amazon web services  Google cloud platform  Microsoft Azure  OpenShit by RedHat  Cisco Systems  Airbus Repositories suivis sur GitHub Popularité sur Debian
  • 5.
    Aspects Techniques  UtiliserAnsible demande:  Accès SSH  Librairie python 2.6  Pas d’agent, rien à maintenir  Windows: PowerShell remoting  Connexion  Utilisateur, accès, droits  Commandes  Copie de fichiers  Installation de paquets apt-get, rpm, yum  Librairies pythons pour +1300 commandes
  • 6.
    Aspects Techniques  Scriptsen YAML  Lisible, facile à modifier  Vocabulaire  Playbook : Ensemble d’actions  Rôle :Liste d’actions  Liste d’hôtes  Variables
  • 7.
    Aspects Techniques  Scriptsen YAML  Lisible, facile à modifier  Vocabulaire  Playbook : Ensemble d’actions  Rôle :Liste d’actions  Liste d’hôtes  Variables  Un Exemple :  Installer un logiciel  Définir une configuration Play [Playbook01] *****************************
  • 8.
    Aspects Techniques  Scriptsen YAML  Lisible, facile à modifier  Vocabulaire  Playbook : Ensemble d’actions  Rôle :Liste d’actions  Liste d’hôtes  Variables  Un Exemple :  Installer un logiciel  Définir une configuration Play [Playbook01] ***************************** Gathering Facts ******************************** Ok: [MachineA.Domain] Ok: [MachineB.Domain] Première connexion
  • 9.
    Aspects Techniques  Scriptsen YAML  Lisible, facile à modifier  Vocabulaire  Playbook : Ensemble d’actions  Rôle :Liste d’actions  Liste d’hôtes  Variables  Un Exemple :  Installer un logiciel  Définir une configuration Play [Playbook01] ***************************** Gathering Facts ******************************** Ok: [MachineA.Domain] Ok: [MachineB.Domain] Task: [Installer logiciel] ********************** Ok: [MachineA.Domain] Changed: [MachineB.Domain] Première connexion Installation Sauf si déjà présente
  • 10.
    Aspects Techniques  Scriptsen YAML  Lisible, facile à modifier  Vocabulaire  Playbook : Ensemble d’actions  Rôle :Liste d’actions  Liste d’hôtes  Variables  Un Exemple :  Installer un logiciel  Définir une configuration Play [Playbook01] ***************************** Gathering Facts ******************************** Ok: [MachineA.Domain] Ok: [MachineB.Domain] Task: [Installer logiciel] ********************** Ok: [MachineA.Domain] Changed: [MachineB.Domain] Task: [Copier configuration] ***************** Ok: [MachineA.Domain] Changed: [MachineB.Domain] Première connexion Installation Sauf si déjà présente Copie de configuration Sauf si même version
  • 11.
    Aspects Techniques  Scriptsen YAML  Lisible, facile à modifier  Vocabulaire  Playbook : Ensemble d’actions  Rôle :Liste d’actions  Liste d’hôtes  Variables  Un Exemple :  Installer un logiciel  Définir une configuration Play [Playbook01] ***************************** Gathering Facts ******************************** Ok: [MachineA.Domain] Ok: [MachineB.Domain] Task: [Installer logiciel] ********************** Ok: [MachineA.Domain] Changed: [MachineB.Domain] Task: [Copier configuration] ***************** Ok: [MachineA.Domain] Changed: [MachineB.Domain] Notified: [Redemarrer logiciel] ************* Changed: [MachineB.Domain] Première connexion Installation Sauf si déjà présente Copie de configuration Sauf si même version Redémarrage application Seulement si nouvelle config
  • 12.
    Aspects Techniques  Scriptsen YAML  Lisible, facile à modifier  Vocabulaire  Playbook : Ensemble d’actions  Rôle :Liste d’actions  Liste d’hôtes  Variables  Un Exemple :  Installer un logiciel  Définir une configuration Play [Playbook01] ***************************** Gathering Facts ******************************** Ok: [MachineA.Domain] Ok: [MachineB.Domain] Task: [Installer logiciel] ********************** Ok: [MachineA.Domain] Changed: [MachineB.Domain] Task: [Copier configuration] ***************** Ok: [MachineA.Domain] Changed: [MachineB.Domain] Notified: [Redemarrer logiciel] ************* Changed: [MachineB.Domain] Play Recap ************************************** [MachineA.Domain]: Ok=3 Changed=0 [MachineB.Domain]: Ok=1 Changed=2 Première connexion Installation Sauf si déjà présente Copie de configuration Sauf si même version Redémarrage application Seulement si nouvelle config Résultats
  • 13.
    Applications  Problème:  6serveurs complètement différents  Géré manuellement  Besoin d’une migration Public Privé Test Prod Val
  • 14.
    Applications  Problème:  6serveurs complètement différents  Géré manuellement  Besoin d’une migration  Solution:  Ansible  Installation : Apt - Rpm  Configuration: Modèles + Variables  Taches planifiées  Utilisateurs ssh Public Privé Test Prod Val
  • 15.
  • 16.
  • 17.
    Applications  Projet Devops Application Web Environnement ✔ Configuration ✔
  • 18.
    Applications  Projet Devops Application Web Environnement ✔ Configuration ✔
  • 19.
    La communauté 19  Ansiblesur github  Projets pour et par la communauté  Des projets utilisant Ansible  Des projets contribuant à Ansible Repositories suivis sur GitHub
  • 20.
    La communauté 20  AnsibleGalaxy  Bibliothèque de Playbook générés par la communauté  +10 000 projets prêt à l’emploi  Gérer MongoDB, Mysql, Redis avec Ansible  Playbook Selenium de l’exemple devops
  • 21.
    La communauté 21 21  RedHat  Propriétaires depuis 2015  Support technique  Interface graphique Ansible Tower
  • 22.
    “Ansible is SimpleIT Automation”  Provisionnement ✓  Gestion de configuration ✓  Déploiement d’application ✓  Déploiement continue ✓  Gestion de la sécurité ✓  Orchestration ✓