Du sel et du
mercure dans des
conteneurs
Initialiser des conteneurs Docker à partir de configurations
Salt
Gérer ses configurations Salt dans Mercurial
Articulatio...
Qui ?
David Douard (Logilab)
david.douard@logilab.fr
@douardda
Salt
boîte à outils (toolkit) pour l'infrastructure construite sur un
bus de communication asynchrone
exécution à distance...
salt-key
salt-master
salt-minion
salt-api
kevin
jerry
phil
SUB
PUBREP
REQ
kevin
jerry
Docker + Salt + Mercurial
Salt pour créer des images Docker
Salt pour déployer des conteneurs
Salt pour gérer des conteneu...
Pourquoi ?
Docker recommande le microservice et utilise le FROM
pour la modularité
Salt apporte la configuration centralis...
Comment ?
Dockerfile minimaliste pour bootstraper salt:
F R O M d e b i a n : j e s s i e
R U N a p t - g e t u p d a t e
...
Installer un microservice dovecot
A partir de https://github.com/saltstack-formulas/dovecot-
formula
F R O M l o g i l a b...
Tester des states Salt
F R O M l o g i l a b / m a s t e r l e s s : j e s s i e
R U N a p t - g e t - y i n s t a l l m e...
Déployer un conteneur avec Salt
Description du service avec le module docker de Salt :
m y _ s e r v i c e :
d o c k e r ....
Scale
Démarrer 100 conteneurs sur une machine :
{ % f o r p o r t i n r a n g e ( 5 0 0 0 , 5 1 0 0 ) % }
m y _ s e r v i ...
Gérer ses conteneurs avec Salt
approche VM légère
on utilise salt-minion comme CMD
permet de piloter des conteneurs à part...
Organiser le travail en équipeJulien
salt-master dev
Hg
Arthur
David
front.logilab.fr db.logilab.fr
app1.logilab.fr app2.l...
Conclusion
versionnement, revue de code / intégration
indépendance vis à vis des environnements d'exécution
approche devop...
Prochain SlideShare
Chargement dans…5
×

Initialiser des conteneurs Docker à partir de configurations Salt construites à plusieurs grâce à Mercurial

737 vues

Publié le

Utilisation conjointe de Salt Mercurial
et Docker, et comment appliquer les bonne pratiques
des méthodes de programmations aux conteneurs.

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

  • Soyez le premier à aimer ceci

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

Aucune remarque pour cette diapositive

Initialiser des conteneurs Docker à partir de configurations Salt construites à plusieurs grâce à Mercurial

  1. 1. Du sel et du mercure dans des conteneurs
  2. 2. Initialiser des conteneurs Docker à partir de configurations Salt Gérer ses configurations Salt dans Mercurial Articulation entre Docker, gestion de configuration et Mercurial Retour d'expérience Perspectives
  3. 3. Qui ? David Douard (Logilab) david.douard@logilab.fr @douardda
  4. 4. Salt boîte à outils (toolkit) pour l'infrastructure construite sur un bus de communication asynchrone exécution à distance Cloud Provisionning gestion de configuration centralisée orchestration
  5. 5. salt-key salt-master salt-minion salt-api kevin jerry phil SUB PUBREP REQ kevin jerry
  6. 6. Docker + Salt + Mercurial Salt pour créer des images Docker Salt pour déployer des conteneurs Salt pour gérer des conteneurs (CMD salt-minion) Mercurial pour conserver ses configurations Salt
  7. 7. Pourquoi ? Docker recommande le microservice et utilise le FROM pour la modularité Salt apporte la configuration centralisée et indépendante du mode de déploiement (conteneur, VM, baremetal) Mercurial permet les bonnes pratiques du développement collaboratif
  8. 8. Comment ? Dockerfile minimaliste pour bootstraper salt: F R O M d e b i a n : j e s s i e R U N a p t - g e t u p d a t e R U N a p t - g e t - y i n s t a l l s a l t - m i n i o n Deux options : microservice ou VM légère
  9. 9. Installer un microservice dovecot A partir de https://github.com/saltstack-formulas/dovecot- formula F R O M l o g i l a b / m a s t e r l e s s : j e s s i e # p u s h f o r m u l a A D D d o v e c o t / s r v / s a l t / d o v e c o t A D D p i l l a r . e x a m p l e / s r v / p i l l a r / m a i n . s l s R U N e c h o " b a s e : " > / s r v / p i l l a r / t o p . s l s R U N e c h o " ' * ' : " > > / s r v / p i l l a r / t o p . s l s R U N e c h o " - m a i n " > > / s r v / p i l l a r / t o p . s l s R U N e c h o " f i l e _ c l i e n t : l o c a l " > / e t c / s a l t / m i n i o n . d / l o c a l . c o n f R U N s a l t - c a l l - - l o c a l s t a t e . s l s d o v e c o t R U N a p t - g e t r e m o v e - - p u r g e s a l t - m i n i o n & & a p t - g e t c l e a n & & [ . . . ] C M D / u s r / b i n / d o v e c o t
  10. 10. Tester des states Salt F R O M l o g i l a b / m a s t e r l e s s : j e s s i e R U N a p t - g e t - y i n s t a l l m e r c u r i a l R U N h g c l o n e h t t p s : / / h g . l o g i l a b . f r / a d m i n / s a l t / s r v / s a l t R U N e c h o " f i l e _ c l i e n t : l o c a l " > / e t c / s a l t / m i n i o n . d / l o c a l . c o n f R U N s a l t - c a l l - - l o c a l s t a t e . s l s t e s t e d _ c o n f i g
  11. 11. Déployer un conteneur avec Salt Description du service avec le module docker de Salt : m y _ s e r v i c e : d o c k e r . r u n n i n g : - c o n t a i n e r : m y a p p c o n t a i n e r - p o r t s : " 5 0 0 0 / t c p " : H o s t P o r t : " 5 0 0 0 " Déploiement : d a v i d @ s a l t : ~ / s a l t d o c k e r h o s t . l o g i l a b . f r s t a t e . s l s m y _ s e r v i c e
  12. 12. Scale Démarrer 100 conteneurs sur une machine : { % f o r p o r t i n r a n g e ( 5 0 0 0 , 5 1 0 0 ) % } m y _ s e r v i c e { { p o r t } } : d o c k e r . r u n n i n g : - c o n t a i n e r : m y a p p c o n t a i n e r - p o r t s : " { { p o r t } } / t c p " : H o s t P o r t : " { { p o r t } } " { % e n d f o r % }
  13. 13. 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 F R O M d e b i a n : j e s s i e R U N a p t - g e t u p d a t e R U N a p t - g e t - y i n s t a l l s a l t - m i n i o n C M D / u s r / b i n / s a l t - m i n i o n
  14. 14. Organiser le travail en équipeJulien salt-master dev Hg Arthur David front.logilab.fr db.logilab.fr app1.logilab.fr app2.logilab.fr PowerEdge 2950 db.logilab.fr PowerEdge 2950 host.logilab.fr front.logilab.fr app1.logilab.fr app2.logilab.fr salt-master MMeerrccuurriiaall
  15. 15. Conclusion versionnement, revue de code / intégration indépendance vis à vis des environnements d'exécution approche devops Test Driven Infrastructure

×