Liens utiles pour Puppet
Publié le vendredi 02 novembre 2012, 13:45 - Geekeries - Lien permanent
- Article
- |
- Commentaires (0)
- |
- Annexes (0)
Actuellement en prestation chez Total, je travaille principalement sur Puppet et Foreman, logiciels libres que je ne connaissais pas avant de venir ici.
Puppet, qu'est-ce que c'est ?? Selon Wikipedia :
Puppet est un logiciel libre permettant la gestion de la configuration de serveurs esclaves (Linux, Mac OS X et Windows).
En fait, même si c'est exact, cette explication ne permet pas de montrer les avantages de Puppet sur d'autres gestionnaires de configuration (En outre, ce n'est pas que limité à ces OS ; personnellement, je l'utilise aussi pour AIX...)
En fait, le gros avantage du Puppet est qu'il est développé en Ruby et de nombreux modules et type de données peuvent être ajoutés (aujourd'hui, on utilise un module pour Control-M, Oracle, ou encore SAP). Les services et les utilisateurs étant gérés nativement (ainsi que d'autres), personne ne peut changer son mot de passe si l'administrateur n'en est pas averti (pratique pour le mot de passe root, non ? ). D'autres part, un daemon arrêté sera automatiquement redémarré lors de la prochaine application.
Ah oui, par contre, l'application de la conf s'effectuant par cron
, si on arrête ce daemon, on est mal Mais, ça se verra sur Foreman qui sert d'interface graphique, d'applications pour Puppet mais encore d'outil d'audit. Si on sélectionne les modules devant être appelés sur une ou plusieurs machines dans Foreman, cela sera pris automatiquement en compte par Puppet.
Un exemple de code Puppet (tout est en Ruby) :
Ce code code configure, installe et contrôle SSH sur les serveurs. C'est court et facilement lisible, non ? De surcroit, avec les possibilités de Ruby, le produit est largement extensible.
Resources pour Puppet :
- Puppetlabs : Site officiel
- Fonctions de gestion des utilisateurs : Plutôt qu'appliquer tout le temps un même mot de passe, ou de ne jamais appliquer de mot de passe, pourquoi ne pas le définir à la création et laisser l'utilisateur faire sa vie ?
- Connexion avec plusieurs clés SSH à un seul utilisateur tout en pouvant déterminer quel utilisateur s'est connecté à partir des logs
- Puppet-LVM : Uniquement pour LVM (pour l'instant)
- Petite fonction sur NFS
- Fonction line.pp permettant la modification de lignes de certains fichiers sans modifier pour autant l'intégralité du document.
Personnellement, je suis en train d'en créer d'autres ou d'en améliorer certaines (notamment une classe multi-plateforme sur NFS, donc... Stay tuned