Puppet : installation

De wikiGite

Installation v.2.7

Serveur

Sur Debian Squeeze :

Ajouter une source backports

# vi /etc/apt/sources.list.d/backports.list
deb http://backports.debian.org/debian-backports squeeze-backports main

Puis :

apt-get install-t squeeze-backports puppetmaster

Sur CentOS, ajouter la source rpmforge

yum install --enablerepo=rpmforge puppet-server

Client

Installer LSB

apt-get install -y -t squeeze-backports lsb-release puppet

ou

yum install -y --enablerepo=rpmforge redhat-lsb puppet

Le client s'appelle "puppet" sur les deux distributions, à installer avec apt-get ou yum, dans les même dépôts (respectivement debian-backports ou rpmforge, à ajouter aux sources).

Repérer le nom complet du client, et l'ajouter au fichier node.pp du serveur avant de lancer puppet sur le client

Configuration

Serveur

Editer /etc/puppet/puppet.conf et ajouter dans la section [Main]

server=<NOM du serveur>

Attention, sur le serveur ce nom sera utilisé dans les clés SSL. Il doit correspondre au nom que présentera le serveur lors de la demande d'un puppet client.

Pour le connaitre, sur le serveur :

hostname -f

le nom exact renvoyé par la commande doit être connu des clients, vérifier par exemple par :

ping <NOM COMPLET DU SERVEUR RENVOYE PAR HOSTNAME -F>

Si les DNS ne permettre pas de la résoudre, l'ajouter dans le fichier /etc/hosts du client.

Clients

Même manipulation dans /etc/puppet/puppet.conf, ajouter

server=<NOM du serveur Puppet>

Initialiser les clés en lançant une première fois Puppet sur chaque client (Puppet discute en SSL entre serveur et clients)

puppetd -t -v -w 60
 info: Caching certificate for ca
 info: Creating a new SSL certificate request for client1
 info: Certificate Request fingerprint (md5): E2:D6:FB:1C:7C:36:96:D8:45:92:84:E3:71:F4:C6:BD
 info: Caching certificate for client1

Le programme attend alors la validation du certificat. Sur le serveur, on doit voir la clé en attente de validation :

puppetca --list
 "client1" (E2:D6:FB:1C:7C:36:96:D8:45:92:84:E3:71:F4:C6:BD)

On peut alors valider la clé de "client1" :

puppetca --sign client1
 notice: Signed certificate request for client1
 notice: Removing file Puppet::SSL::CertificateRequest client1 at '/var/lib/puppet/ssl/ca/requests/client1.pem'

Automatiser le démarrage de Puppet au lancement de la machine cliente

# vi /etc/default/puppet
  START=yes

Pour les tests, on ne lance pas le démon sur les clients, il est préférable de le lancer en avant-plan et en mode bavard, pour voir ce qui se passe :

puppetd -t -v


Suivant : Puppet : utilisation