Puppet est un service d'automatisation très efficace. Il se décompose en deux parties :
Cette définition est simple mais inexacte car on ne dit jamais à puppet de faire des modifications on lui donne l'état final et il sait comment procéder pour y arriver (installation de packages etc …)
Puppet n'est plus utilisé en prod à MiNET car personne ne le maintenait. De plus, d'après les vieux, le projet Puppet bat de l'aile et d'autres solutions (comme Ansible par exemple) seraient plus adaptées à notre utilisation.
Ajout du depot et installation de l'agent:
export http_proxy=http://192.168.102.61:82 wget http://apt.puppetlabs.com/puppetlabs-release-wheezy.deb dpkg -i puppetlabs-release-wheezy.deb apt-get update apt-get install puppet
Afin de faire démarrer puppet au démarrage de la machine, modifiez /etc/default/puppet comme ci-dessous
# Defaults for puppet - sourced by /etc/init.d/puppet # Start puppet on boot? START=yes # Startup options DAEMON_OPTS=""
Dans /etc/puppet/puppet.conf, ajoutez les lignes ci-dessous
[agent] report=true server=puppet.minet.net listen=true
Créer le fichier /etc/puppet/auth.conf
# touch /etc/puppet/auth.conf
Puis redémarrez l'agent
/etc/init.d/puppet restart
Afin d'envoyer une requête vers puppetmaster (le serveur puppet), faîtes :
# puppet agent --test
Une erreur apparaît mais c'est normal, vous avez besoin d'accepter le certificat du client sur puppetmaster.
RDV sur la VM puppet (c'est un exemple avec ntp1, à adapter)
root@puppet:/etc/puppet# puppet cert list "ntp1.minet.net" (SHA256) [...] root@puppet:/etc/puppet# puppet cert sign ntp1.minet.net Signed certificate request for ntp1.minet.net Removing file Puppet::SSL::CertificateRequest [...]
Enfin Vérifiez que la VM sur laquelle vous avez configuré l'agent apparaît bien sur le dashboard : http://192.168.102.195:3000/