Puppet : installation : Différence entre versions
De wikiGite
(Page créée avec « == 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/debi... ») |
(Aucune différence)
|
Version du 17 septembre 2012 à 16:17
Sommaire
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
Le client s'appelle "puppet" sur les deux distributions, dans les même dépôts.
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 RENVOYE PAR HOSTNAME -F>
Si les DNS ne permettre pas de la résoudre, l'ajouter dans le fichier /etc/hosts du client.
Clients
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
Utilisation
Créer les fichiers de configuration nécessaires sur le serveur : /etc/puppet/manifests/site.pp
filebucket { 'main': server => '<NOM COMPLET SERVEUR PUPPET' } File { backup => 'main' } import "node"
/etc/puppet/manifests/node.pp
node 'client1' { include dummy }
"dummy" représente un module qu'on va créer :
mkdir -p /etc/puppet/modules/dummy/manifests mkdir -p /etc/puppet/modules/dummy/files
Dans le répertoire files, on place un fichier "puppet.txt" pour nos tests. Ensuite créer /etc/puppet/modules/dummy/manifests/init.pp :
class dummy { file { "/etc/puppet.txt": owner => root, group => root, mode => 644, source => "puppet:///dummy/puppet.txt" } }
Ce module va simplement vérifier sur le client l'existence du fichier /etc/puppet.txt, avec les bons droits, et le charger à partir du serveur si nécessaire.
On prend en compte cette nouvelle configuration :
service puppetmaster restart
Et on relance puppet sur le client pour vérifier que le fichier se crée
puppetd -t -v