Présentation
Puppet est un moteur d'administration d'automatisation open source utilisé pour effectuer des tâches administratives et la gestion de serveur à distance. Cet outil est disponible sous Linux, Unix et Windows.
Dans ce tutoriel étape par étape, nous couvrirons l'installation de Puppet sur Ubuntu 20.04 sur les nœuds maître et client.

Prérequis
- Plusieurs systèmes exécutant Ubuntu 20.04 (un pour le nœud maître et un ou plusieurs pour les nœuds clients)
- Accès à un compte avec privilèges sudo
- Accès au terminal/ligne de commande
Étape 1 :Mettre à jour la liste des packages
Avant de commencer le processus d'installation, mettez à jour la liste des packages disponibles :
sudo apt-get update -y

Étape 2 :Configurer la résolution du nom d'hôte
Avec Puppet, les nœuds maître et client communiquent à l'aide de noms d'hôte. Avant d'installer Puppet, vous devez configurer un nom d'hôte unique sur chaque nœud.
1. Ouvrez les hosts
fichier sur chaque nœud en utilisant :
sudo nano /etc/hosts
2. Collez les lignes suivantes à la fin de chaque hosts
fichier :
[puppet master ip] puppetmaster puppet
[puppet client ip] puppetclient
Où :
[puppet master ip]
est l'adresse IP du nœud maître, et[puppet client ip]
est l'adresse IP du nœud client.

3. Appuyez sur Ctrl + X
pour fermer le fichier, puis tapez Y
et appuyez sur Enter
pour enregistrer les modifications que vous avez apportées.
Étape 3 :Installer Puppet Server sur le nœud maître
1. Téléchargez la dernière version de Puppet sur le nœud maître :
wget https://apt.puppetlabs.com/puppet6-release-focal.deb

2. Une fois le téléchargement terminé, installez le package en utilisant :
sudo dpkg -i puppet6-release-focal.deb

3. Mettez à jour le référentiel de packages :
sudo apt-get update -y
4. Installez le serveur Puppet avec la commande suivante :
sudo apt-get install puppetserver -y
5. Ouvrez le puppetserver
fichier en utilisant :
sudo nano /etc/default/puppetserver
6. Dans le puppetserver
fichier, modifiez la ligne suivante pour changer la taille de la mémoire à 1 Go :
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"

7. Appuyez sur Ctrl + X
pour fermer le puppetserver
dossier. Tapez Y
et appuyez sur Enter
pour enregistrer les modifications que vous avez apportées.
8. Démarrez le service Puppet et configurez-le pour qu'il se lance au démarrage du système en utilisant :
sudo systemctl start puppetserver
sudo systemctl enable puppetserver

9. Vérifiez si le service Puppet fonctionne avec :
sudo systemctl status puppetserver

Étape 4 :Installer l'agent Puppet sur le nœud client
1. Téléchargez la dernière version de Puppet sur un nœud client :
wget https://apt.puppetlabs.com/puppet6-release-focal.deb
2. Une fois le téléchargement terminé, installez le package en utilisant :
sudo dpkg -i puppet6-release-focal.deb
3. Mettez à jour le référentiel de packages une fois de plus :
sudo apt-get update -y
4. Installez l'agent Puppet en utilisant :
sudo apt-get install puppet-agent -y
5. Ouvrez le fichier de configuration de Puppet :
sudo nano /etc/puppetlabs/puppet/puppet.conf
6. Ajoutez les lignes suivantes à la fin du fichier de configuration Puppet pour définir les informations du maître Puppet :
[main]
certname = puppetclient
server = puppetmaster

7. Appuyez sur Ctrl + X
pour fermer le fichier de configuration de Puppet, puis tapez Y
et appuyez sur Enter
pour enregistrer les modifications.
8. Démarrez le service Puppet et configurez-le pour qu'il se lance au démarrage du système en utilisant :
sudo systemctl start puppet
sudo systemctl enable puppet
9. Vérifiez si le service Puppet fonctionne avec :
sudo systemctl status puppet

Étape 5 : Signer le certificat d'agent Puppet
1. À l'aide du nœud maître Puppet, répertoriez tous les certificats disponibles :
sudo /opt/puppetlabs/bin/puppetserver ca list --all

2. Signez les certificats avec :
sudo /opt/puppetlabs/bin/puppetserver ca sign --all
3. Utilisez la commande suivante pour tester la communication entre les nœuds maître et client :
sudo /opt/puppetlabs/bin/puppet agent --test