PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou docker avant la mise...
-
Upload
arthur-lutz -
Category
Internet
-
view
554 -
download
0
Transcript of PyConFR 2015 : Utiliser salt pour tester son infrastructure sur open stack ou docker avant la mise...
Utiliser Salt pour testerson infrastructure surOpenStack ou Docker
avant la mise enproduction
IntroductionPyConFR 2015Arthur Lutz (Logilab) Ocotbre 2015
@arthurlutz
Vue d'ensembleIntroduction à SaltPiloter du cloud avec salt-cloudInitialiser des conteneurs Docker à partir de configurationsSaltArticulation entre Docker et un outil de gestion configurationet orchestration
Administrer plusieursmachines
me@laptop:~$ ssh root@server1root@server1:~# cp /etc/config.conf /etc/config.conf.bakroot@server1:~# vim /etc/config.confroot@server1:~# service critical-daemon restartme@laptop:~$ ssh root@server2root@server2:~# cp /etc/config.conf /etc/config.conf.bakroot@server2:~# vim /etc/config.confroot@server2:~# service critical-daemon restartme@laptop:~$ ssh root@server3[...]
Avec Salt.root@salt:~# vim /srv/salt/service/config.confroot@salt:~# salt 'server*' state.highstate test=Trueroot@salt:~# salt 'server*' state.highstateroot@salt:~# hg commit
Avec Saltsalt '*' pkg.refresh_dbsalt '*' pkg.list_upgradessalt '*' pkg.upgrade_available
Pitch de SaltFast, scalable and flexible software for data
center automation, from infrastructure and anycloud, to the entire application stack.
Logiciel rapide, adaptable, qui monte en charge et flexible pourl'automatisation des data centers, depuis l'infrastructure
matérielle ou n'importe quel cloud, jusqu'à l'ensemble de la pileapplicative.
Salt - c'est quoi ?exécution distante asynchronegestion de configuration centraliséedéploiement d'infrastructure à la demandegestion de machines virtuellessupervision et monitoringgestion de cluster HPC (High Performance Computing)une boîte à outils pour la gestion d'infrastructure !
Salt - pourquoi cechoix?
Gestion de configuration centralisé - mais pas seulement!Framework recent (première version en mars 2011)Logiciel librePythonZMQ pour la communicationbien packagé pour Debiancommunité très activetrès flexible et extensible
Execution à distanceavec salt
root@master:~# salt '*' pkg.install vimroot@master:~# salt '*' pkg.install libssl1.0.0 refresh=Trueroot@master:~# salt '*' cmd.run 'checkrestart'root@master:~# salt '*' service.restart sshdroot@master:~# salt '*' service.restart apache2
Exemple de déclarationmake sure ntp is running: pkg.installed: - name: ntp service.running: - name: ntpd - watch: - file: /etc/ntp.conf
deploy ntp configuration: file.managed: - name: /etc/ntp.conf - source: salt://ntp/ntp.conf - require: - pkg: ntp
Piloter du cloud avecsalt-cloud
L'outil salt-cloud permet de piloter un certain nombre deplateformes de cloud (avec ) pour créér/détruire des
machines à la demande tout en les branchant sur salt.libcloud
Piloter du docker avecsalt
description du service :my_service: dockerng.running: - container: myappcontainer - port_bindings: 5000:5000
déploiement :salt:~/ salt dockerhost.logilab.fr state.sls my_service
Scale{% for port in range(5000, 5100) %}my_service {{ port }}: dockerng.running: - container: myappcontainer - port_bindings: {{ port }}:5000{% endfor %}
Gérer ses conteneursavec Salt
approche VM légèreon utilise salt-minion comme CMDpermet de piloter des conteneurs à partir du salt-master
FROM debian:jessieRUN apt-get updateRUN apt-get -y install salt-minionCMD /usr/bin/salt-minion
Bénéfices de Docker &Salt & Mercurial
VersionnementRevue de codeDéploiement en environment mixte (docker, lxc, vms,baremetal)Approche devops, developpeurs soumettent des patches surl'infrastuctureTest Driven Infrastructure (pendant de Test DrivenDevelopment)
FinMerci !Arthur Lutz Logilab liste de discussion : , #salt-fr sur freenode
@arthurlutz@logilab