Journée DevOps : Puppet, un outil pour les installer tous

1,860 views

Published on

Vous n'avez pas pu assister à la journée DevOps by Xebia ? Voici la présentation de Mathieu Nantern à propos de Puppet.

Published in: Software

Journée DevOps : Puppet, un outil pour les installer tous

  1. 1. DevOps Day 2014 Puppet: Un outil pour les installer tous
  2. 2. Chapitre 1 Le mouvement DevOps 1
  3. 3. Un projet informatique 3
  4. 4. La faute de l’Agile 4
  5. 5. La faute de l’Agile 5
  6. 6. L’infrastructure est peu Agile 6
  7. 7. Chapitre 2 Pourquoi Puppet ? 2
  8. 8. Pourquoi Puppet ? Installer un projet ? ! ! ! ! Diversité des plateformesA C D B 8 Cohérence des environnements 
 
 Un langage commun
  9. 9. Chapitre 3 Architecture 3
  10. 10. Un run Puppet 11 PuppetMaster Puppet 1 2 34
  11. 11. Chapitre 4 Infrastructure as Code 4
  12. 12. A C Un ensemble de ressources D B Un paquet ? package{‘ntp’:
 ensure => present
 }
 
 Un utilisateur ? user{‘bob’:
 ensure => present
 } Un fichier ? file {‘/etc/profile’:
 ensure => present
 } Un service ? service {‘apache’:
 ensure => ‘running’
 } 13
  13. 13. Un module 14 class ntp{ package { 'ntp': ensure => present, before => File['/etc/ntp.conf'] } file { '/etc/ntp.conf': ensure => file, owner => 0, group => 0, mode => '0644', content => template("ntp/ntp_${::osfamily}.conf.erb"), } service { 'ntp': ensure => present, enable => true, subscribe => File['/etc/ntp.conf'] } }
  14. 14. Assigner un module à une machine 15 node 'agent1.localdomain' { class{'ntp':} }
  15. 15. Extensibilité Ajout de ressources 
 
 
 Ajout de fonctions 
 
 
 
 
 
 
 
 
 
 Ajout de facts 
 
 ! Et bien plus… A C B 16 D
  16. 16. Le développement appliqué à l’infrastructure Tests unitaires Rspec-Puppet
 
 
 Couverture de code Total resources:   12 Touched resources: 7 Resource coverage: 58.33% Untouched resources: !   Anchor[ntp::begin]   Anchor[ntp::end]   Class[Ntp::Params]   Package[ntp]   Service[ntp]
 
 Tests d’intégration serverspec, beaker
 
 
 A C B 17
  17. 17. Chapitre 5 Retour d’expérience 5
  18. 18. La Poste • Tri 60 millions d’enveloppes par jour 
 • Reparti sur 30 centres de tri
 • Plus de 1000 serveurs en production ! 19
  19. 19. Infrastructure Puppet • Un PuppetMaster 
 • 2 runs Puppet par jour
 • Version 0.25…
 • Un ENC
 • Des machines vierges en « stand-by » 20
  20. 20. Boot PXE Run Puppet ENC o/ Provisioning d’une nouvelle machine 21
  21. 21. Chapitre 6 Demo ! 6
  22. 22. Chapitre 7 Questions ? 7
  23. 23. Merci!

×