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. Cet outil de gestion de configuration vous aidera à automatiser la gestion et la configuration de votre infrastructure de serveurs. Après avoir suivi ce didacticiel, vous devriez avoir entièrement configuré le maître Puppet et les nœuds clients sur vos systèmes Ubuntu.
Ce didacticiel vous aide à installer et à configurer les nœuds maître et agent Puppet sur les systèmes Linux Ubuntu 20.04.
Prérequis
Vous devez avoir :
- Deux systèmes Ubuntu 20.04 ou plus, un pour le maître et les autres clients.
- Accès Shell à tous les systèmes avec un compte privilégié sudo.
- Tous les systèmes doivent être connectés entre eux via un réseau privé ou public.
Étape 1 - Configurer les hôtes
Le maître de marionnettes et les nœuds clients utilisent des noms d'hôte pour communiquer entre eux. Il est donc bon de commencer par attribuer un nom d'hôte unique à chaque nœud.
1. Connectez-vous au maître et à chaque nœud client un par un et modifiez /etc/hosts
fichier :
sudo nano /etc/hosts
2. Ajoutez les entrées suivantes à la fin de chaque fichier hosts :
10.132.14.239 puppetmaster puppet 10.132.14.240 puppetclient1 10.132.14.241 puppetclient2
Ici :
- 10.132.14.239 est l'adresse IP du nœud maître.
- 10.132.14.240 est l'adresse IP du poste client.
- 10.132.14.242 est l'adresse IP d'un autre poste client.
- Ajouter d'autres nœuds clients, selon vos besoins
Enregistrez votre fichier et fermez-le. Pour enregistrer le fichier avec l'éditeur nano, appuyez sur Ctrl + X puis tapez Y et appuyez sur Entrée pour enregistrer la modification et fermer le fichier.
Étape 2 - Installer Puppet Server (nœud maître)
Maintenant, connectez-vous au nœud maître avec l'accès au shell
3. Installez le dernier package debian Puppet pour configurer PPA sur le nœud maître :
wget https://apt.puppetlabs.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
4. Une fois que vous avez ajouté le PPA, mettez à jour le cache Apt et installez le serveur Puppet avec la commande suivante :
sudo apt update
sudo apt install puppetserver -y
5. Après l'installation réussie de tous les packages Puppet. Modifiez le fichier du serveur de marionnettes en utilisant :
sudo nano /etc/default/puppetserver
Le fichier de serveur de marionnettes par défaut configuré pour utiliser 2 Go de mémoire. Si votre serveur n'a pas assez de mémoire. Réduisez la taille de la mémoire à 1 Go ou à toute autre valeur :
JAVA_ARGS="-Xms1g -Xmx1g -Djruby.logger.class=com.puppetlabs.jruby_utils.jruby.Slf4jLogger"
Enregistrez vos modifications et fermez le fichier puppetserver. Pour enregistrer le fichier avec l'éditeur nano, appuyez sur Ctrl + X puis tapez Y pour enregistrer les modifications.
6. Ensuite, démarrez le service Puppet et configurez-le pour qu'il démarre automatiquement au démarrage du système :
sudo systemctl start puppetserver
sudo systemctl enable puppetserver
7. Une fois le service démarré, vérifiez l'état du service avec :
sudo systemctl status puppetserver
Vous verrez le statut du service comme étant en cours d'exécution.
Maintenant, commencez par la configuration de tous les nœuds clients.
Étape 3 - Installer l'agent Puppet (nœud client)
Tout d'abord, assurez-vous que vous avez déjà mis à jour les entrées du fichier hosts définies à l'étape 1 dans tous les nœuds clients.
8. Maintenant, téléchargez et installez le dernier package debian Puppet pour configurer PPA sur votre nœud client :
wget https://apt.puppetlabs.com/puppet7-release-focal.deb
sudo dpkg -i puppet7-release-focal.deb
9. Une fois que vous avez configuré le PPA, installez le package de l'agent Puppet sur tous les serveurs clients.
sudo apt update
sudo apt install puppet-agent -y
10. Une fois l'installation des packages terminée. Modifiez le fichier de configuration de Puppet :
sudo nano /etc/puppetlabs/puppet/puppet.conf
Ajoutez les entrées suivantes à la fin du fichier de configuration Puppet pour définir les détails du nœud maître Puppet :
[main] certname = puppetclient1 server = puppetmaster
Enregistrez votre fichier et fermez-le.
11. Ensuite, démarrez le service de l'agent Puppet sur tous les nœuds clients et configurez-le pour qu'il démarre automatiquement au démarrage du système :
sudo systemctl start puppet
sudo systemctl enable puppet
12. Une fois cela fait, vérifiez que le service de l'agent Puppet fonctionne correctement :
sudo systemctl status puppet
Vous devriez voir un état d'exécution sur tous les systèmes d'agent
Étape 4 - Signez les certificats de l'agent Puppet
13. Vous en avez terminé avec la configuration. Maintenant, connectez-vous au nœud maître Puppet et exécutez la commande suivante pour répertorier tous les certificats disponibles :
sudo /opt/puppetlabs/bin/puppetserver ca list --all
14. Ensuite, signez tous les certificats clients en utilisant :
sudo /opt/puppetlabs/bin/puppetserver ca sign --all
15. Enfin, testez la communication entre le maître Puppet et les nœuds clients à l'aide de la commande suivante.
sudo /opt/puppetlabs/bin/puppet agent --test
Conclusion
C'est ça. Vous avez installé avec succès Puppet sur le système Ubuntu 20.04. Ce tutoriel vous explique comment installer Puppet sur un nœud maître ainsi que sur un nœud client.
Vous pouvez également consulter la documentation officielle pour en savoir plus sur la configuration du nœud du serveur Puppet et la configuration du nœud client sur