Vous avez maintenant une installation de puppet accouplé à l’interface web Foreman. (voir le tutorial ici).
Après avoir fait un petit point sur ce que fait puppet et ses principes de fonctionnement, nous allons maintenant voir comment rajouter un ordinateur que vous voulez gérer dans votre infrastructure Puppet. Nous verrons aussi rapidement les commandes principales du Puppet server.
Principe de Base de Puppet
Puppet c’est simple. Nous sommes sur le principe de base client/serveur. Le serveur étant le puppetserver, les clients sont les puppet-agent qui sont installés sur les ordinateurs ou serveurs à configurer, on les appelles aussi les nodes.
Le puppet-agent discute avec le puppetserver de manière crypter à l’aide d’un certificat propre à chaque node. Il en découle que lors de l’installation du Puppet agent, au premier lancement vous aurez un message d’erreur, il faudra d’abord valider la demande de certificat auprès du Puppetserver. Il en découle aussi que si vous réinstallez le Puppet agent après une réinstallation de système d’exploitation, il faudra révoquer l’ancien certificat pour accepter le nouveau.
L’agent Puppet embarque avec lui une couche logiciel qui s appelle Facter. Cet Outil va faire un état des lieux et mettre à disposition de nombreuses informations sous forme de variable. Le gros intérêt est que nous allons pouvoir grâce à ces variables scripter nos installations pour les rendre modulables suivant la machines.
Dans le Puppetserver, nous pouvons définir des environnements qui représentent par exemple des services (compta, bureau d’étude, serveur) en production ou en phase de test. L’agent Puppet lors de son installation sera configuré pour être raccordé à un environnement.
Chaque environnement dispose de ses manifests, ceux sont les fichiers qui décrivent l’état dans lequel le node doit se trouver. Lorsque vous installer l’agent vous définissez l’environnement auquel vous rattachez votre node. A chaque lancement, l agent va demander au Puppetserver l’état dans lequel il doit se trouver , le comparer grâce à Facter et appliquer les modifications.
Puppet peut :
- installer un logiciel ou le désinstaller
- installer une imprimante réseaux
- modifier des fichiers textes
- gérer des utilisateurs, groupes et acl
- modifier des bases de registres
- déposer des fichiers
Pour gérer tout cela, le Puppetserver se base sur des modules, la liste des modules installables est disponible ici : liste des modules puppet (en Anglais)
Ajout d’un ordinateur
Afin de télécharger la bonne version de l’agent, connectez vous sur votre serveur Puppet :
puppet status
vous devriez avoir un résultat comme suit :
{
"is_alive": true,
"version": "5.5.8"
}
Nous allons donc télécharger l’agent pour la version 5.5.8.
Sous Windows
Lien pour télécharger votre agent puppet : https://downloads.puppetlabs.com/windows/puppet5/
Lien vers la documentation en anglais : https://puppet.com/docs/puppet/5.5/install_windows.html
Après avoir télécharger votre installeur en 32 ou 64 bits, voici les etapes :
Voila votre agent est installé, mais ce n’est pas encore fini.
Nous devons maintenant faire le nécessaire pour le certificat.
Pour cela lancer une première fois l agent Puppet
Vous aurez alors ce résultat :
Comme vous pouvez le voir, pas de certificat trouvé.
Il faut néanmoins faire cette étape qui permet au Puppetserver de savoir qu’un agent est en attente de validation.
Suivez l’étape Autorisation du certificat
Lorsque cela est fait relancer votre Puppet agent, vous aurez alors ce résultat :
Le fichier de configuration de l’agent se trouve par défaut:
C:\ProgramData\PuppetLabs\puppet\etc\puppet.conf
Vous pourrez y définir votre environnement pour cet agent, il est par défaut sur production.
Sous Linux
Lien vers la documentation en anglais : https://puppet.com/docs/puppet/5.5/install_linux.html
Tout comme pour le serveur on commence par rajouter le dépôt Puppet :
cd && wget https://apt.puppetlabs.com/puppet5-release-stretch.deb
dpkg -i puppet5-release-stretch.deb
Le fichier sources pour apt est installé nous allons maintenant faire en sorte que nous soyons bien sur Puppet version 5.
vim /etc/apt/sources.list.d/puppet.list
changez :
deb http://apt.puppetlabs.com stretch puppet
en
deb http://apt.puppetlabs.com stretch puppet5
On installe le paquet puppet-agent
apt update && apt install puppet-agent
On ajoute maintenant à notre terminal le PATH pour l’exécutable Puppet.
echo "PATH=\$PATH:/opt/puppetlabs/puppet/bin" >> ~/.bashrc
source .bashrc
Nous devons maintenant configurer notre agent puppet :
Éditez le fichier /opt/puppetlabs/puppet/puppet.conf et coller ceci à la fin :
[main]
certname = nom.machine
server = url.puppetserver
environment = production
Modifiez les éléments en gras suivant votre configuration.
Nous lancons maintenant la génération du certificat :
puppet agent --test
Voici le résultat :
Suivez l’étape Autorisation du certificat
Relancez la dernière commande :
puppet agent --test
Autorisation du certificat
Comme je vous l’expliquez précédemment il faut maintenant autoriser le certificat . Depuis le serveur puppet, tapez ceci pour voir les certificats en attente de validation :
puppet cert list
vous aurez alors ce résultat :
On voit que nous avons une machine w7-test-ibe en attente.
Nous allons la rajoutez
puppet cert sign w7-test-ibe
Voila votre agent est maintenant opérationnel.