SlideShare une entreprise Scribd logo
1  sur  9
Télécharger pour lire hors ligne
1 Présentation PuppetPrésentation Puppet & démo technique
2 PuppetQu'est-ce que c'est ? A quoi ça sert ?
Système de gestion centralisée des configurations (SCM)
• Chef
• CFEngine
• Puppet
• Salt
• Ansible
• …
→ Résoud les problèmes d'administration systèmes de
grands parcs
• Tâches répétitives
• Supervision de l'état du parc
• Audit
• etc.
3 PuppetQu'est-ce que c'est ? A quoi ça sert ?
Méthodes possibles d'administration de grands parcs
• Manuellement → long et source d'erreurs humaines
• Boucle SSH (script)
→ Long!
→ Comment vérifier les résultats ?
→ Reprise sur erreur
→ Pré-requis: s'assurer que tous les systèmes sont iso (ou s'assurer que
tous les cas de figure sont gérés)
• Update.sh (script au boot ou par cron/scheduler)
→ comment s'assurer que tous les noeuds ont bien exécuté le script ?
→ mêmes problèmes
→ comment distinguer les noeuds ?
• Agent
→ Puppet
→ Intrusif (Ruby)
4 Déclaratif vs. impératifLes concepts principaux
5 Avantages du déclaratifLes concepts principaux
Avantages du déclaratif
• On décrit l'état voulu, pas ce qu'il faut faire pour y arriver
• Rapide, tout le parc applique les règles en parallèle
• Pas de vérification des résultats. Un noeud est soit dans l'état désiré, soit pas
• Pas de reprise sur erreur. Il faut simplement investiguer pourquoi un noeud ne
tend pas vers l'état désiré
• Pas de nécessité de s'assurer que les noeuds sont dans un certain état initial
→ Le même code déclaratif amène vers l'état désiré un noeud vierge ou un
noeud presque dans l'état désiré
• Le code déclaratif a accès aux caractéristiques des noeuds
→ Il est très facile de distinguer les noeuds
6 Avantages de PuppetArchitecture
Avantages de Puppet
• Gestion centralisée, interfaces
de gestion permettant de voir
l'état du parc
• Inventaire
→ facter récupère
automatiquement de façon
centralisée toute valeur
intéressante
→ PuppetDB
7 Avantages du langage PuppetLes concepts principaux
Avantages du langage
• Graphe de dépendences
• Idempotence
• Modules (https://forge.puppet.com/)
→ réutilisation de code
→ exemple mysql::db
• Cross-platform
Exemple 1
group { 'web':
ensure => present,
gid => 502,
}
user { 'john':
ensure => present,
gid => “web”,
groups => [“adm”, “staff”],
shell => “/bin/bash”,
require => Group['web'],
}
Exemple 2
package { 'htop':
ensure => present,
}
i
8 Puppetpuppet.clevernetsystems.com
Démo Puppet
15 minutes
Technologies :
9 Infrastructure As CodeEnvironnements et versioning
Versioning du code
• Environnements (dev, valid, prod, windows, linux, mac, etc.)
• Utilisation de Subversion ou Git pour versionner le code
→ Audit (qui a modifié quoi à quel moment)
→ Risque et compliance
→ Possibilité de retour en arrière
→ Multi-utilisateurs
→ Branches

Contenu connexe

Tendances (7)

SdE 10 - Threads
SdE 10 - ThreadsSdE 10 - Threads
SdE 10 - Threads
 
SdE 6 - Planification
SdE 6 - PlanificationSdE 6 - Planification
SdE 6 - Planification
 
SdE 4: Processus
SdE 4: ProcessusSdE 4: Processus
SdE 4: Processus
 
PHP #2 : variables, conditions & boucles
PHP #2 : variables, conditions & boucles PHP #2 : variables, conditions & boucles
PHP #2 : variables, conditions & boucles
 
Automatisation de la production
Automatisation de la productionAutomatisation de la production
Automatisation de la production
 
Django by mrjmad
Django by mrjmadDjango by mrjmad
Django by mrjmad
 
SdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoireSdE 2 - Langage C, Allocation de memoire
SdE 2 - Langage C, Allocation de memoire
 

Similaire à Presentation du gestionnaire de configuration Puppet

Industrialiser le contrat dans un projet PHP
Industrialiser le contrat dans un projet PHPIndustrialiser le contrat dans un projet PHP
Industrialiser le contrat dans un projet PHPhalleck45
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOlivier DASINI
 
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...Adrian CID ALMAGUER
 
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...Guillaume Chevalier
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptMichael Akbaraly
 
Road map to DevOps engineering - Elie Sirius
Road map to DevOps engineering -  Elie SiriusRoad map to DevOps engineering -  Elie Sirius
Road map to DevOps engineering - Elie SiriusGDG Bujumbura
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation MavenArnaud Héritier
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Benoît de CHATEAUVIEUX
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfInes Ben Hassine
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxMarc Bojoly
 
RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...RUDDER
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2Christophe Rochefolle
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Olivier Gutknecht
 

Similaire à Presentation du gestionnaire de configuration Puppet (20)

Industrialiser le contrat dans un projet PHP
Industrialiser le contrat dans un projet PHPIndustrialiser le contrat dans un projet PHP
Industrialiser le contrat dans un projet PHP
 
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier KrantzOps@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
Ops@viadeo : Puppet & Co... 6 mois après par Xavier Krantz
 
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
Quelques conseils sur la migration des modules à Drupal 8. Étude de cas: Node...
 
Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0Les nouveautés de PowerShell 3.0
Les nouveautés de PowerShell 3.0
 
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
Python appliqué en apprentissage automatique (Applied Python in Machine Learn...
 
Usine Logicielle 2013
Usine Logicielle 2013Usine Logicielle 2013
Usine Logicielle 2013
 
Paris Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascriptParis Web 2015 - Atelier desendettement javascript
Paris Web 2015 - Atelier desendettement javascript
 
Road map to DevOps engineering - Elie Sirius
Road map to DevOps engineering -  Elie SiriusRoad map to DevOps engineering -  Elie Sirius
Road map to DevOps engineering - Elie Sirius
 
20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven20081023 - Paris Vi Master STL TA - Initiation Maven
20081023 - Paris Vi Master STL TA - Initiation Maven
 
Diagnostic performances
Diagnostic performancesDiagnostic performances
Diagnostic performances
 
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
Démo Gatling au Performance User Group de Casablanca - 25 sept 2014
 
TD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdfTD_complet_reseau__CISCO__Packet Tracer.pdf
TD_complet_reseau__CISCO__Packet Tracer.pdf
 
Perfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptxPerfug BOF devoxx2017.pptx
Perfug BOF devoxx2017.pptx
 
Présentation devops&puppet 04112014
Présentation devops&puppet 04112014 Présentation devops&puppet 04112014
Présentation devops&puppet 04112014
 
RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...RUDDER - Continuous Configuration (configuration management + continuous audi...
RUDDER - Continuous Configuration (configuration management + continuous audi...
 
Automatisation des tests - objectifs et concepts - partie 2
Automatisation des tests  - objectifs et concepts - partie 2Automatisation des tests  - objectifs et concepts - partie 2
Automatisation des tests - objectifs et concepts - partie 2
 
Formation Google App Engine
Formation Google App EngineFormation Google App Engine
Formation Google App Engine
 
Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09Chef - Paris BlockCamp - Nov 09
Chef - Paris BlockCamp - Nov 09
 
sshGate
sshGatesshGate
sshGate
 
Audits php
Audits phpAudits php
Audits php
 

Presentation du gestionnaire de configuration Puppet

  • 1. 1 Présentation PuppetPrésentation Puppet & démo technique
  • 2. 2 PuppetQu'est-ce que c'est ? A quoi ça sert ? Système de gestion centralisée des configurations (SCM) • Chef • CFEngine • Puppet • Salt • Ansible • … → Résoud les problèmes d'administration systèmes de grands parcs • Tâches répétitives • Supervision de l'état du parc • Audit • etc.
  • 3. 3 PuppetQu'est-ce que c'est ? A quoi ça sert ? Méthodes possibles d'administration de grands parcs • Manuellement → long et source d'erreurs humaines • Boucle SSH (script) → Long! → Comment vérifier les résultats ? → Reprise sur erreur → Pré-requis: s'assurer que tous les systèmes sont iso (ou s'assurer que tous les cas de figure sont gérés) • Update.sh (script au boot ou par cron/scheduler) → comment s'assurer que tous les noeuds ont bien exécuté le script ? → mêmes problèmes → comment distinguer les noeuds ? • Agent → Puppet → Intrusif (Ruby)
  • 4. 4 Déclaratif vs. impératifLes concepts principaux
  • 5. 5 Avantages du déclaratifLes concepts principaux Avantages du déclaratif • On décrit l'état voulu, pas ce qu'il faut faire pour y arriver • Rapide, tout le parc applique les règles en parallèle • Pas de vérification des résultats. Un noeud est soit dans l'état désiré, soit pas • Pas de reprise sur erreur. Il faut simplement investiguer pourquoi un noeud ne tend pas vers l'état désiré • Pas de nécessité de s'assurer que les noeuds sont dans un certain état initial → Le même code déclaratif amène vers l'état désiré un noeud vierge ou un noeud presque dans l'état désiré • Le code déclaratif a accès aux caractéristiques des noeuds → Il est très facile de distinguer les noeuds
  • 6. 6 Avantages de PuppetArchitecture Avantages de Puppet • Gestion centralisée, interfaces de gestion permettant de voir l'état du parc • Inventaire → facter récupère automatiquement de façon centralisée toute valeur intéressante → PuppetDB
  • 7. 7 Avantages du langage PuppetLes concepts principaux Avantages du langage • Graphe de dépendences • Idempotence • Modules (https://forge.puppet.com/) → réutilisation de code → exemple mysql::db • Cross-platform Exemple 1 group { 'web': ensure => present, gid => 502, } user { 'john': ensure => present, gid => “web”, groups => [“adm”, “staff”], shell => “/bin/bash”, require => Group['web'], } Exemple 2 package { 'htop': ensure => present, }
  • 9. 9 Infrastructure As CodeEnvironnements et versioning Versioning du code • Environnements (dev, valid, prod, windows, linux, mac, etc.) • Utilisation de Subversion ou Git pour versionner le code → Audit (qui a modifié quoi à quel moment) → Risque et compliance → Possibilité de retour en arrière → Multi-utilisateurs → Branches