DevOps Day 2014
Puppet:
Un outil pour les installer tous
Chapitre 1
Le mouvement DevOps
1
Un projet informatique
3
La faute de l’Agile
4
La faute de l’Agile
5
L’infrastructure est peu Agile
6
Chapitre 2
Pourquoi Puppet ?
2
Pourquoi Puppet ?
Installer un projet ?
!
!
!
!
Diversité des plateformesA
C D
B
8
Cohérence des
environnements




Un lan...
Chapitre 3
Architecture
3
Un run Puppet
11
PuppetMaster
Puppet
1
2
34
Chapitre 4
Infrastructure as
Code
4
A
C
Un ensemble de ressources
D
B
Un paquet ?
package{‘ntp’:

ensure => present

}



Un utilisateur ?
user{‘bob’:

ensure...
Un module
14
class ntp{
package { 'ntp':
ensure => present,
before => File['/etc/ntp.conf']
}
file { '/etc/ntp.conf':
ensu...
Assigner un module à une machine
15
node 'agent1.localdomain' {
class{'ntp':}
}
Extensibilité
Ajout de ressources






Ajout de fonctions




















Ajout de facts




!
Et bien plus…
A
C
B
16...
Le développement appliqué à l’infrastructure
Tests unitaires
Rspec-Puppet





Couverture de code
Total resources:   12
To...
Chapitre 5
Retour d’expérience
5
La Poste
• Tri 60 millions d’enveloppes
par jour 

• Reparti sur 30 centres de tri

• Plus de 1000 serveurs en
production ...
Infrastructure Puppet
• Un PuppetMaster 

• 2 runs Puppet par jour

• Version 0.25…

• Un ENC

• Des machines vierges en
«...
Boot
PXE
Run Puppet
ENC
o/
Provisioning d’une nouvelle machine
21
Chapitre 6
Demo !
6
Chapitre 7
Questions ?
7
Merci!
Journée DevOps : Puppet, un outil pour les installer tous
Prochain SlideShare
Chargement dans…5
×

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

1 301 vues

Publié le

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

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

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

Aucune remarque pour cette diapositive

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!

×