Utiliser Salt pour tester
son infrastructure sur
OpenStack ou Docker
avant la mise en
production
Introduction
PyConFR 2015
Arthur Lutz (Logilab)
Ocotbre 2015
@arthurlutz
Vue d'ensemble
Introduction à Salt
Piloter du cloud avec salt-cloud
Initialiser des conteneurs Docker à partir de configur...
Administrer plusieurs
machinesme@laptop:~$sshroot@server1
root@server1:~#cp/etc/config.conf/etc/config.conf.bak
root@serve...
Avec Salt.
root@salt:~#vim/srv/salt/service/config.conf
root@salt:~#salt'server*'state.highstatetest=True
root@salt:~#salt...
Avec Saltsalt'*'pkg.refresh_db
salt'*'pkg.list_upgrades
salt'*'pkg.upgrade_available
Pitch de Salt
Fast, scalable and flexible software for data
center automation, from infrastructure and any
cloud, to the e...
Salt - c'est quoi ?
exécution distante asynchrone
gestion de configuration centralisée
déploiement d'infrastructure à la d...
Salt - pourquoi ce
choix?
Gestion de configuration centralisé - mais pas seulement!
Framework recent (première version en ...
Execution à distance
avec saltroot@master:~#salt'*'pkg.installvim
root@master:~#salt'*'pkg.installlibssl1.0.0refresh=True
...
Exemple de déclarationmakesurentpisrunning:
pkg.installed:
-name:ntp
service.running:
-name:ntpd
-watch:
-file:/etc/ntp.co...
Piloter du cloud avec
salt-cloud
L'outil salt-cloud permet de piloter un certain nombre de
plateformes de cloud (avec ) po...
Piloter du docker avec
salt
description du service :
my_service:
dockerng.running:
-container:myappcontainer
-port_binding...
Scale{%forportinrange(5000,5100)%}
my_service{{port}}:
dockerng.running:
-container:myappcontainer
-port_bindings: {{port}...
Gérer ses conteneurs
avec Salt
approche VM légère
on utilise salt-minion comme CMD
permet de piloter des conteneurs à part...
Bénéfices de Docker &
Salt & Mercurial
Versionnement
Revue de code
Déploiement en environment mixte (docker, lxc, vms,
bar...
Fin
Merci !
Arthur Lutz
Logilab
liste de discussion : , #salt-fr sur freenode
@arthurlutz
@logilab
salt-fr@lists.afpy.fr
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou docker avant la mise en production
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou docker avant la mise en production
PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou docker avant la mise en production
Prochain SlideShare
Chargement dans…5
×

PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou docker avant la mise en production

475 vues

Publié le

Comment utiliser Salt (outil en python pour la gestion d'infrastructure, gestion de conf centralisé mais aussi exécution à distance et orchestrateur) pour tester des bouts de son infrastructure (ses applications n-tiers) dans un environnement "bac-à-sable", en machines virtuelles sur un cloud privé (OpenStack, en python!), soit en conteneurs (LXC ou docker). Le tout versionné avec du mercurial.

Publié dans : Internet
0 commentaire
2 j’aime
Statistiques
Remarques
  • Soyez le premier à commenter

Aucun téléchargement
Vues
Nombre de vues
475
Sur SlideShare
0
Issues des intégrations
0
Intégrations
10
Actions
Partages
0
Téléchargements
11
Commentaires
0
J’aime
2
Intégrations 0
Aucune incorporation

Aucune remarque pour cette diapositive

PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou docker avant la mise en production

  1. 1. Utiliser Salt pour tester son infrastructure sur OpenStack ou Docker avant la mise en production
  2. 2. Introduction PyConFR 2015 Arthur Lutz (Logilab) Ocotbre 2015 @arthurlutz
  3. 3. Vue d'ensemble Introduction à Salt Piloter du cloud avec salt-cloud Initialiser des conteneurs Docker à partir de configurations Salt Articulation entre Docker et un outil de gestion configuration et orchestration
  4. 4. Administrer plusieurs machinesme@laptop:~$sshroot@server1 root@server1:~#cp/etc/config.conf/etc/config.conf.bak root@server1:~#vim/etc/config.conf root@server1:~#servicecritical-daemonrestart me@laptop:~$sshroot@server2 root@server2:~#cp/etc/config.conf/etc/config.conf.bak root@server2:~#vim/etc/config.conf root@server2:~#servicecritical-daemonrestart me@laptop:~$sshroot@server3 [...]
  5. 5. Avec Salt. root@salt:~#vim/srv/salt/service/config.conf root@salt:~#salt'server*'state.highstatetest=True root@salt:~#salt'server*'state.highstate root@salt:~#hgcommit
  6. 6. Avec Saltsalt'*'pkg.refresh_db salt'*'pkg.list_upgrades salt'*'pkg.upgrade_available
  7. 7. Pitch de Salt Fast, scalable and flexible software for data center automation, from infrastructure and any cloud, to the entire application stack. Logiciel rapide, adaptable, qui monte en charge et flexible pour l'automatisation des data centers, depuis l'infrastructure matérielle ou n'importe quel cloud, jusqu'à l'ensemble de la pile applicative.
  8. 8. Salt - c'est quoi ? exécution distante asynchrone gestion de configuration centralisée déploiement d'infrastructure à la demande gestion de machines virtuelles supervision et monitoring gestion de cluster HPC (High Performance Computing) une boîte à outils pour la gestion d'infrastructure !
  9. 9. Salt - pourquoi ce choix? Gestion de configuration centralisé - mais pas seulement! Framework recent (première version en mars 2011) Logiciel libre Python ZMQ pour la communication bien packagé pour Debian communité très active très flexible et extensible
  10. 10. Execution à distance avec saltroot@master:~#salt'*'pkg.installvim root@master:~#salt'*'pkg.installlibssl1.0.0refresh=True root@master:~#salt'*'cmd.run'checkrestart' root@master:~#salt'*'service.restartsshd root@master:~#salt'*'service.restartapache2
  11. 11. Exemple de déclarationmakesurentpisrunning: pkg.installed: -name:ntp service.running: -name:ntpd -watch: -file:/etc/ntp.conf deployntpconfiguration: file.managed: -name:/etc/ntp.conf -source:salt://ntp/ntp.conf -require: -pkg:ntp
  12. 12. Piloter du cloud avec salt-cloud L'outil salt-cloud permet de piloter un certain nombre de plateformes de cloud (avec ) pour créér/détruire des machines à la demande tout en les branchant sur salt. libcloud
  13. 13. Piloter du docker avec salt description du service : my_service: dockerng.running: -container:myappcontainer -port_bindings:5000:5000 déploiement : salt:~/saltdockerhost.logilab.frstate.slsmy_service
  14. 14. Scale{%forportinrange(5000,5100)%} my_service{{port}}: dockerng.running: -container:myappcontainer -port_bindings: {{port}}:5000 {%endfor%}
  15. 15. Gérer ses conteneurs avec Salt approche VM légère on utilise salt-minion comme CMD permet de piloter des conteneurs à partir du salt-master FROMdebian:jessie RUNapt-getupdate RUNapt-get-yinstallsalt-minion CMD/usr/bin/salt-minion
  16. 16. Bénéfices de Docker & Salt & Mercurial Versionnement Revue de code Déploiement en environment mixte (docker, lxc, vms, baremetal) Approche devops, developpeurs soumettent des patches sur l'infrastucture Test Driven Infrastructure (pendant de Test Driven Development)
  17. 17. Fin Merci ! Arthur Lutz Logilab liste de discussion : , #salt-fr sur freenode @arthurlutz @logilab salt-fr@lists.afpy.fr

×