Gauvain Pocentek, Consultant DevOps et Expert OpenStack chez Objectif Libre, a présenté son retour d'expérience sur l'utilisation d'Ansible pour le déploiement d'OpenStack. Ces slides reprennent sa présentation, notamment la construction du playbook et les choix effectués pour déployer plus simplement une application aussi complexe.
2. Agences
Toulouse | Paris
Création de
la société
employés
dans notre
Dream Team
Et nous recrutons !
personnes formées (et satisfaites)
année de présence
OpenStack Summit
notre croissance annuelle depuis 3 ans
Part de CA réinvesti en
R&D en 2015
Quelques chiffres qui comptent
2009
2
+3000
+30%
3ème 13%
11
3. Experts en
technologies
d'infrastructures
innovantes
Objectif Libre, c'est...
Une société
100% Open
Source
We Linux
#Cloud #Virtualisation
#Automatisation
Un accompagnement dans
la mise en œuvre et
l'exploitation
d'infrastructures Open
Source
Audit / Conseil
Expertise
Déploiements
Support/Infogérance
À chaque étape
de votre projet
'Packs Starters' OpenStack
'Packs Dev&Test'
Catalogue complet de formations
4. Nos prestations autour
de l'automatisation de SI
Déploiement et
intégration
Ecriture de playbooks Ansible sur-mesure
Paramétrage / configuration Puppet
Migrations vers Puppet ou Ansible
Développements
spécifiques
Audit / Conseil
Analyse d'infrastructure et
d'organisation
Aide à la décision : choix de l'outil
Veille technologique
Définition d'architecture
d'automatisation
Conduite du changement
Formations
Formation à la mise en oeuvre
tous niveaux
Formations sur mesure
Support / TMA
Assistance à l'utilisation
Infogérance
Résolution d'incidents et de
problèmes
5. Ils nous font confiance
Nous sommes partenaires / contributeurs
8. Comment déployer un OpenStack ?
À la main !
- 2 à 3 jours non-stop si vous vous y connaissez
- Et sinon… un risque fort d'abandon !
Avec Ansible
- Voyons voir...
9. Focus sur notre playbook : comment?
1.Génération d'une template de configuration
pour le déploiement
2.Edition de la template et définition de
l'inventaire
3.Exécution du playbook
4.Café
5.Waouw! (modulo l'effet démo)
10. Focus sur notre playbook : pourquoi ?
Pourquoi un playbook custom ?
- Parce qu'on l'a fait très tôt
- Parce qu'on faisait face à un besoin client
Pourquoi on continue de l'utiliser ?
- Parce que ça fonctionne très bien pour des déploiements à échelles
plus modestes (y compris petites)
- Adapté à notre architecture de référence, à nos méthodes de travail
et à notre marché
Et le standard il est comment ?
- Beaucoup plus complexe
- Adapté aux grands déploiements et aux déploiements monstrueux
11. Focus technique : Organisation du playbook
Utilisation des rôles :
- Pour l'organisation, pas la réutilisation
- Séparation des tâches dans différents fichiers
Fichier de variables unique
- DRY (Don't Repeat Yourself)
- Plus simple à manier du point de vue utilisateur
- Uniquement des éléments non détectables par le
playbook
Tags, tags, tags !
12. Focus technique : Orchestration
Facts
- Auto-détection d'un maximum d'infos
- Module custom pour la découverte réseau :
ips_for_nets
delegate_to
- Idéal pour les interactions entre services
- Mais attention à la gestion des facts !
13. Focus technique : Templates
Un dossier commun pour tous les rôles
- Évite la complexité des inclusions
- Reproduction de l'arborescence cible complète
Magie jinja pour les traitements complexes
- {% set … %}
- Filtres custom au départ (traitement des dicts)
Pas d'extension .j2 !
14. Focus technique : Idempotence
C'est compliqué !
Orange is the new green
- Développement de module == maintenance
- Un shell peut être tout aussi efficace
Autres méthodes :
- Tests au sein des tâches (register / when)
- Ignorer les erreurs attendues (ignore_errors)