9
1 Présentation Puppet Présentation Puppet & démo technique

Présentation Puppet

Embed Size (px)

Citation preview

Page 1: Présentation Puppet

1 Présentation PuppetPrésentation Puppet & démo technique

Page 2: Présentation Puppet

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.

Page 3: Présentation Puppet

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)

Page 4: Présentation Puppet

4 Déclaratif vs. impératifLes concepts principaux

Page 5: Présentation Puppet

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

Page 6: Présentation Puppet

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

Page 7: Présentation Puppet

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,

}

Page 8: Présentation Puppet

i

8 Puppetpuppet.clevernetsystems.com

Démo Puppet15 minutes

Technologies :

Page 9: Présentation Puppet

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