journée devops : puppet, un outil pour les installer tous

Post on 11-May-2015

438 Views

Category:

Software

2 Downloads

Preview:

Click to see full reader

DESCRIPTION

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

TRANSCRIPT

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!

top related