Puppet
Un article de Casys (Canadian Sysadmins).
Sommaire |
Installation
Centos
Attention : on peut trouver puppet dans les repos de rpmforge et de David Lutterkort. N'oublier pas de vérifier la provenance du paquet (par exemple --disablerepo=rpmforge)
Dans le cas ou puppet et puppetmaster n'ont pas la même version, il est conseillé d'avoir une version de puppetmaster plus récente.
Installation du serveur (puppetmaster)
Installation du repo de David Lutterkort (raisonnablement à récent)
cd /etc/yum.repos.d wget http://people.redhat.com/dlutter/yum/dlutter.repo
Activer le repository qui convient
vi /etc/yum.repos.d/dlutter.repo
Installer puppet-server et ruby-rdoc pour l'aide
yum install puppet-server ruby-rdoc
Avant d'oublier
chkconfig puppetmaster on
On ouvre les portes
iptables -I INPUT -m tcp -p tcp -s <replace-here> --dport 8140 -j ACCEPT
Creation d'un manifest minimal
vi /etc/puppet/manifests/site.pp
node default {
}
service puppetmaster start
Configurer le serveur de fichier embarqué ici :
vi /etc/puppet/fileserver.conf
Le puppetmaster est installé
Installation du client (puppet)
Installation du repository : voir au dessus.
Installation :
yum install puppet ruby-rdoc
La configuration se passe ici :
vi /etc/sysconfig/puppet
Par défaut, puppet tente de joindre le serveur par le nom "puppet" donc si votre search dns est correct, puppet.monhostname.com fonctionnera.
Ajout d'un node
Chaque machine à configurer avec puppet est nommé "node". Le package puppet y est installé.
Pour que puppet ai le droit de récuperer les ordres de puppetmaster, il faut initier une première connection qui se terminera par un echec, puis aller signer le certificat que puppetmaster a enregistré.
Note: Le nom du node est le hostname que puppetmaster donne au moment de signer le certificat
Sur un node :
$ puppetd --server puppet.foubarre.com --test notice: Did not receive certificate notice: Set to run 'one time'; exiting with no certificate
L'erreur est normal. Puppetmaster n'a pas autorisé un node qu'il ne connait pas. Mais il a enregistré la requête.
Sur le serveur, pour afficher la liste de requête:
$ puppetca --list
Pour signer une requête :
$ puppetca --sign puppet.foubarre.com
Au cas ou ça ne marche pas du premier coup, on peut effacer le certificat :
$ puppetca --clean puppet.foubarre.com ou $ puppetca --clean all
Suite au prochain numéro
