====== Puppet ====== Puppet est un service d'automatisation très efficace. Il se décompose en deux parties : - L'agent puppet qui doit-être installé sur toutes les machines à gérer - Le puppet master qui va pousser les modifications sur les agents. 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. ===== Installation de puppet ===== 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/ ===== Trubble shooting ===== * Un [[http://docs.puppetlabs.com/guides/troubleshooting.html|lien]] qui peut aider en cas de soucis de syntaxe