Développé par Lans de marionnettes, Fantoche est un outil de gestion de configuration open source utilisé pour automatiser et centraliser la configuration d’infrastructures telles que des serveurs, tout comme Ansible et Chef. Il facilite l’exécution simple de tâches répétitives qui seraient autrement lourdes et chronophages.

Puppet adopte une architecture client-serveur et comprend les aspects saillants suivants.

  • Maître/serveur de marionnettes – Ce nœud contient toute la configuration nécessaire à la gestion des nœuds clients sur lesquels l’esclave marionnette est installé.
  • Esclave Marionnette – Il s’agit des nœuds clients gérés dans votre environnement. Tous les esclaves sont gérés par le maître Puppet et l’agent Puppet est installé et en cours d’exécution.
  • PuppetDB – Il s’agit d’une base de données qui stocke toutes les données générées par Puppet.

Dans ce guide, nous vous montrerons comment installer Maître de la marionnette et Agent dans les distributions basées sur RHEL telles que CentOS, Fedora, Rocky et AlmaLinux.

Configuration de l’environnement de laboratoire

Puppet Master Node with IP 139.144.20.170 - Rocky Linux 8
Puppet Slave with IP 45.79.206.178  - Ubuntu 22.04

Étape 1 : Configurer le nom d’hôte dans Puppet Master et Slave

Pour démarrer, connectez-vous à votre système et mettez à niveau les progiciels à l’aide de la commande dnf comme suit.

$ sudo dnf update -y

Ensuite, configurez un nom d’hôte pour vos nœuds, qui sera précieux tout au long de la configuration Fantoche sur votre système.

Publicité

Pour le marionnettiste

$ sudo hostnamectl set-hostname puppetmaster.tecmint.com

Pour Marionnette Esclave

$ sudo hostnamectl set-hostname puppet-agent 

Confirmez le nouveau nom d’hôte à l’aide du nom d’hôtectl commande:

$ hostnamectl
Vérifier Le Nom D'Hôte Du Système Linux
Vérifier Le Nom D&Rsquo;Hôte Du Système Linux

Ensuite, mettez à jour le /etc/hosts fichier pour les deux systèmes avec le nom d’hôte et les enregistrements DNS comme indiqué.

Basculez vers l’utilisateur root.

$ su -

Ensuite, mettez à jour le /etc/hosts fichier avec l’adresse IP et le nom d’hôte ou FQDN de votre système.

Pour le marionnettiste

# echo "139.144.20.170 puppetmaster.tecmint.com" >> /etc/hosts 
Ajouter Le Nom D'Hôte Au Fichier /Etc/Hosts
Ajouter Le Nom D&Rsquo;Hôte Au Fichier /Etc/Hosts

Pour Marionnette Esclave

# echo "45.79.206.178  puppet-agent" >> /etc/hosts

Une fois les noms d’hôte et les enregistrements DNS configurés, passez à l’étape suivante.

Étape 2 : Ajouter un référentiel Puppet sur Puppet Master (Rocky Linux)

À installer Fantoche, nous devons ajouter son référentiel au système. Pour ce faire, exécutez la commande suivante.

$ sudo dnf install https://yum.puppet.com/puppet-release-el-8.noarch.rpm -y

Ajouter Un Référentiel Puppet Sur Rocky Linux [Puppet Master]
Ajouter Un Référentiel Puppet Sur Rocky Linux [Puppet Master]

Pour confirmer que le référentiel a bien été ajouté, exécutez la commande rpm :

$ rpm -qi puppet-release
Vérifier Le Référentiel De Marionnettes
Vérifier Le Référentiel De Marionnettes

De plus, assurez-vous d’ajouter également le référentiel EPEL comme indiqué.

$ sudo dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm -y
Installer Le Référentiel Epel Sur Rocky Linux
Installer Le Référentiel Epel Sur Rocky Linux

Ensuite, activez le Outils électroportatifs référentiel qui fournit des outils de développement et des bibliothèques. Le référentiel fournit également une multitude de packages nécessaires en tant que dépendances lors de l’installation d’autres applications.

$ sudo dnf config-manager --set-enabled powertools

Pour vous assurer que le cache est entièrement à jour avec toutes les métadonnées en place, créez le cache comme indiqué.

$ sudo dnf makecache
Met À Jour Le Cache De Métadonnées Dnf
Met À Jour Le Cache De Métadonnées Dnf

Étape 3 : Installer Puppet sur Puppet Master (Rocky Linux)

Avant d’installer Fantocheassurez-vous que tous les référentiels requis ont été activés comme suit.

$ sudo dnf repolist
Afficher Les Référentiels Dnf
Afficher Les Référentiels Dnf

Ensuite, installez Serveur de marionnettes comme suit.

$ sudo dnf install puppetserver -y

La commande installe une multitude de packages, y compris Serveur Pupper et Agent, Java OpenJDK, Lua, NSS et bien d’autres. Vous trouverez ci-dessous la sortie de la commande.

Installer Puppet Server Sur Rocky Linux
Installer Puppet Server Sur Rocky Linux

Pour confirmer que le Serveur Pupper a été installé, exécutez la commande :

$ rpm -qi puppetserver

La commande imprime des informations détaillées telles que le nom, la version, la version, l’architecture et la date d’installation pour n’en citer que quelques-unes.

Confirmer L'Installation Du Serveur De Marionnettes
Confirmer L&Rsquo;Installation Du Serveur De Marionnettes

Étape 4 : Configurer le serveur maître Puppet (Rocky Linux)

Une fois Serveur de marionnettes est installé, l’étape suivante consiste à le configurer. Par conséquent, accédez au fichier de configuration principal de Puppet comme indiqué.

$ sudo vim /etc/puppetlabs/puppet/puppet.conf

Sous le [server] section ajouter l’entrée DNS comme indiqué.

dns_alt_names=puppetmaster.tecmint.com,puppetmaster,puppetserver

De plus, ajoutez le [main] section comme suit, où puppetmaster.tecmint.com est le FQDN ou le nom d’hôte de votre serveur de marionnettes.

[main]
certname = puppetmaster.tecmint.com
server = puppetmaster.tecmint.com
environment = production
runinterval = 1h

Voici à quoi ressemble notre configuration.

Configurer Le Serveur Maître De Marionnettes
Configurer Le Serveur Maître De Marionnettes

Enregistrez les modifications et quittez le fichier de configuration.

Étape 5 : Configurer l’allocation de mémoire JVM (facultatif)

Par défaut, 2 Go de JAVA la mémoire est allouée à Serveur maître de marionnettes. Si votre système ne dispose pas de suffisamment de mémoire, vous pouvez modifier le fichier de configuration du serveur et attribuer une valeur inférieure telle que 1 Go.

Par conséquent, accédez au fichier de configuration.

$ sudo vim /etc/sysconfig/puppetserver

Localisez ces arguments : -Xms2g -Xmx2g et changer 2g pour 1g (moyens 1 Go).

Configurer L'Allocation De Mémoire Jvm
Configurer L&Rsquo;Allocation De Mémoire Jvm

Enregistrez les modifications et quittez le fichier de configuration.

Étape 6 : Démarrer et activer le serveur Puppet

Après avoir effectué toutes les modifications requises, démarrez le Serveur de marionnettes service comme indiqué.

$ sudo systemctl start puppetserver

Activez ensuite le service pour qu’il démarre au démarrage ou au démarrage du système.

$ sudo systemctl enable puppetserver

Pour vérifier que le serveur Puppet est en cours d’exécution, exécutez la commande :

$ sudo systemctl status puppetserver

La sortie suivante confirme que le serveur Puppet est en cours d’exécution.

Vérifier L'État Du Serveur De Marionnettes
Vérifier L&Rsquo;État Du Serveur De Marionnettes

Étape 7 : Démarrer et activer l’agent Puppet

La mise en place de Serveur de marionnettes installe également l’agent. Cependant, l’agent ne démarre pas automatiquement et vous devez le faire manuellement.

Pour démarrer l’agent marionnette, exécutez la commande.

$ sudo systemctl start puppet

Envisagez également d’activer l’agent pour qu’il démarre au démarrage.

$ sudo systemctl enable puppet

Maintenant, vérifiez si l’agent est actif et en cours d’exécution en exécutant la commande suivante.

$ sudo systemctl status puppet
Vérifier L'État De L'Agent Marionnette
Vérifier L&Rsquo;État De L&Rsquo;Agent Marionnette

Étape 8 : Autoriser le service Puppet dans le pare-feu

Une autre chose que vous devez considérer est d’autoriser le service Puppet à travers le pare-feu afin que le serveur soit accessible sur le réseau.

Pour ce faire, exécutez les commandes suivantes.

$ sudo firewall-cmd --add-service=puppetmaster --permanent
$ sudo firewall-cmd --reload

Étape 9 : Ajouter le dossier binaire Puppet à $PATH

Les fichiers binaires de marionnettes sont situés dans /opt/puppetlabs/bin. Au moment de la rédaction de ce guide, le répertoire est déjà placé dans le $CHEMIN.

Pour le confirmer, lancez le printenv commande comme indiqué.

$ printenv | grep puppetlabs
Confirmer Le Path Binaire De La Marionnette
Confirmer Le Path Binaire De La Marionnette

Vous pouvez également vérifier cela comme indiqué.

$ which puppet

/opt/puppetlabs/bin/puppet

Si pour une raison quelconque Fantoche n’est pas ajouté à $CHEMINpassez à l’utilisateur root

$ su - 

Ensuite, exécutez les commandes suivantes pour l’ajouter à $CHEMIN.

# echo 'export PATH=$PATH:/opt/puppetlabs/bin' | tee -a ~/.bashrc
# source ~/.bashrc

Étape 10 : Vérifier le serveur Puppet à l’aide du client Puppet

Pour confirmer que le Fantoche serveur fonctionne comme prévu, exécutez la commande :

$ sudo /opt/puppetlabs/bin/puppet agent --test --ca_server=puppetmaster.tecmint.com

La sortie suivante confirme que tout semble bon.

Vérifier Le Serveur De Marionnettes
Vérifier Le Serveur De Marionnettes

Vous pouvez également obtenir la même chose que l’utilisateur root, comme indiqué

# puppet agent -t

Pour afficher les certificats disponibles sur le Maître de la marionnette nœud, exécutez la commande suivante.

$ sudo /opt/puppetlabs/bin/puppetserver ca list --all
Vérifier Les Certificats Sur Puppet Server
Vérifier Les Certificats Sur Puppet Server

Jusqu’à présent, nous avons réussi à installer Serveur de marionnettes et Agent sur le nœud maître. Si c’est ce que vous cherchiez, alors vous avez terminé et dépoussiéré.

Cependant, nous avons mentionné que Puppet fonctionne dans une architecture client-serveur. Dans l’étape suivante, nous montrerons comment installer et configurer l’agent Puppet sur le nœud client.

Étape 11 : Installer et configurer l’agent Puppet sur l’esclave

Dans cette section, nous installerons Agent marionnette sur un Esclave Ubuntu nœud, puis établir la communication entre le Maître marionnettiste nœud et le Client.

Pour Ubuntu 22.04

$ wget https://apt.puppetlabs.com/puppet7-release-jammy.deb
$ sudo dpkg -i puppet7-release-jammy.deb
$ sudo apt update
$ sudo apt install puppet-agent -y

Pour Ubuntu 20.04

$ wget https://apt.puppet.com/puppet7-release-focal.deb
$ sudo dpkg -i puppet7-release-focal.deb
$ sudo apt update
$ sudo apt install puppet-agent -y

Une fois installé, accédez au fichier de configuration de l’agent.

$ sudo vim /etc/puppetlabs/puppet/puppet.conf

Ajoutez la section suivante.

[main]
server = puppetmaster.tecmint.com

Enregistrez les modifications et quittez.

Pour appliquer les modifications, redémarrez le service de l’agent Puppet.

$ sudo systemctl restart puppet
$ sudo systemctl enable puppet

Étape 12 : Connecter l’agent Puppet au serveur Puppet

La dernière étape consiste à établir une connexion entre le Serveur de marionnettes et le agent installé sur le système client. Pour ce faire, accédez au nœud client et générez des certificats que le maître Pupper doit signer.

$ sudo /opt/puppetlabs/bin/puppet agent -t

Vous recevrez une notification indiquant que le certificat n’a pas encore été signé.

Se Connecter À Puppet Server Et À L'Agent
Se Connecter À Puppet Server Et À L&Rsquo;Agent

Dirigez-vous vers le Maître des chiots node et lister les certificats en attente de signature. Ici, le certificat est répertorié comme puppet-agent.members.linode.com.

$ sudo /opt/puppetlabs/bin/puppetserver ca list
Répertorier Les Certificats Sur Puppet Server
Répertorier Les Certificats Sur Puppet Server

Signez maintenant le certificat à l’aide de la commande suivante :

$ sudo /opt/puppetlabs/bin/puppetserver ca sign --certname puppet-agent.members.linode.com
Signer Des Certificats Sur Puppet Server
Signer Des Certificats Sur Puppet Server

Enfin, revenez au nœud client et signez le certificat.

$ sudo /opt/puppetlabs/bin/puppet agent -t
Se Connecter À Puppet Server Et À L'Agent
Se Connecter À Puppet Server Et À L&Rsquo;Agent
Conclusion

Ceci nous amène à la fin de ce guide. Dans cet article, nous avons montré comment installer Maître de la marionnette et Agent sur les systèmes basés sur RHEL utilisant Rocheux Linux 8 nœuds dans notre configuration.

Rate this post
Publicité
Article précédentL’anime Boruto ruinant l’arc du Code provoque une indignation massive parmi les fans
Article suivantComment installer un SSD dans votre console PS5 (2023)
Avatar
Violette Laurent est une blogueuse tech nantaise diplômée en communication de masse et douée pour l'écriture. Elle est la rédactrice en chef de fr.techtribune.net. Les sujets de prédilection de Violette sont la technologie et la cryptographie. Elle est également une grande fan d'Anime et de Manga.

LAISSER UN COMMENTAIRE

S'il vous plaît entrez votre commentaire!
S'il vous plaît entrez votre nom ici