Upload
objectif-libre
View
690
Download
2
Embed Size (px)
Citation preview
www.objectiflibre.com
Déployer OpenStack avec Ansible
par Gauvain Pocentek – Expert OpenStack @Objectif Libre
Meetup Ansible Paris19 novembre 2015
www.objectif-libre.com
@objectiflibre
Agences Toulouse | Paris
Création de la société
employésdans notre
Dream Team
Et nous recrutons !
personnes formées (et satisfaites)
année de présenceOpenStack 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
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 / ConseilExpertise
DéploiementsSupport/Infogérance
À chaque étape de votre projet
'Packs Starters' OpenStack'Packs Dev&Test'
Catalogue complet de formations
Nos prestations autourde l'automatisation de SI
Déploiement et intégration
Ecriture de playbooks Ansible sur-mesureParamétrage / configuration PuppetMigrations vers Puppet ou Ansible
Développementsspécifiques
Audit / ConseilAnalyse d'infrastructure et
d'organisationAide à la décision : choix de l'outil
Veille technologiqueDéfinition d'architecture
d'automatisationConduite du changement
FormationsFormation à la mise en oeuvre
tous niveauxFormations sur mesure
Support / TMAAssistance à l'utilisation
InfogéranceRésolution d'incidents et de
problèmes
Ils nous font confiance
Nous sommes partenaires / contributeurs
Passons aux choses sérieuses
OpenStack: vous connaissez ?
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...
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)
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
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 !
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 !
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 !
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)