Upload
xebia-france
View
438
Download
2
Embed Size (px)
DESCRIPTION
Vous n'avez pas pu assister à la journée DevOps by Xebia ? Voici la présentation de Mathieu Nantern à propos de Puppet.
DevOps Day 2014
Puppet: Un outil pour les installer tous
Chapitre 1Le 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 2Pourquoi Puppet ?
2
Pourquoi Puppet ?
Installer un projet ? !!!!
Diversité des plateformesA
C D
B
8
Cohérence des environnements
Un langage commun
Chapitre 3Architecture
3
Un run Puppet
11
PuppetMaster
Puppet
1
2
34
Chapitre 4Infrastructure as Code
4
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
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'] } }
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
D
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
Chapitre 5Retour 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 !
19
Infrastructure Puppet
• Un PuppetMaster
• 2 runs Puppet par jour
• Version 0.25…
• Un ENC
• Des machines vierges en
« stand-by »
20
Boot
PXE
Run Puppet
ENC
\o/
Provisioning d’une nouvelle machine
21
Chapitre 6Demo !
6
Chapitre 7Questions ?
7
Merci!