GNU/Linux >> Tutoriels Linux >  >> Rocky Linux

Installer Puppet Server &Agent sur Rocky Linux ou AlmaLinux 8

Dans ce didacticiel, nous allons apprendre les étapes pour installer Puppet Server sur les distributions AlmaLinux ou Rocky Linux 8 à l'aide du terminal de commande.

Puppet est un projet open source avec support d'entreprise, il permet aux administrateurs d'automatiser la configuration d'un seul serveur ou ordinateur sur un vaste réseau de systèmes; Ansible et Foreman sont quelques-unes de ses alternatives.

Lorsque les développeurs et les administrateurs doivent configurer plusieurs serveurs à la fois avec des configurations similaires, au lieu de répéter les mêmes tâches sur chaque système un par un, ils utilisent des gestionnaires de configuration spéciaux tels que Puppet. Idéalement, de nombreuses tâches peuvent être automatisées à l'aide du langage spécifique au domaine (DSL) de Puppet, le code Puppet, que vous pouvez utiliser avec un large éventail d'appareils et de systèmes d'exploitation. Il a été développé en 2005 par Puppet Labs, Portland, Oregon; écrit en Ruby et conçu pour être multiplateforme. Tout système d'exploitation d'entreprise à terme de connexion peut être utilisé pour héberger des serveurs Puppet tels qu'OracleLinux, RedHat, SuSE, Ubuntu, Debian AlmaLinux et Rocky Linux. Les systèmes exécutant Windows peuvent également être configurés et gérés avec Puppet, avec certaines limitations.

Il utilise le principe client-serveur 

Comme la plupart des outils utilisés pour surveiller et gérer des systèmes distants, Puppet utilise également une architecture client-serveur. La partie serveur est connue sous le nom de "PuppetMaster ” qui maintient toutes les configurations des ordinateurs actives dans le réseau. Il permet aux administrateurs de gérer de manière centralisée tous les ordinateurs connectés à un réseau à l'aide d'agents . Oui, l'agent est la partie client, appelée PuppetAgent installé sur tous les systèmes qui doivent être configurés. Il apporte une contribution significative au confort de l'architecture Puppet. Il est exécuté par le maître sur tous les systèmes à configurer. Les paramètres de configuration stockés dans le catalogue en tant qu'état cible servent de base. La communication entre l'agent et le maître s'effectue via HTTPS. Les certificats des deux côtés servent à sécuriser les processus de communication bidirectionnelle.

Quand on parle des éditions, alors en dehors de l'open-source, il propose également Puppet Enterprise (PE). Il s'agit de la version commerciale de Puppet qui repose sur la plate-forme open source Puppet. Les deux produits vous permettent de gérer la configuration de milliers de nœuds. Open source Puppet le fait avec la gestion d'état souhaitée. PE fournit une approche impérative, ainsi que déclarative, de l'automatisation de l'infrastructure. Par conséquent, selon la déclaration officielle des développeurs, si une personne dispose d'une infrastructure complexe ou de grande taille exploitée et gérée par plusieurs équipes, elle doit opter pour la version Enterprise de Puppet en raison de l'interface utilisateur graphique, du déploiement de code pointer-cliquer stratégies, tests continus et intégration, et capacité à prévoir l'impact des modifications de code avant le déploiement.

Étapes pour installer le serveur et le client Puppet sur Rocky Linux | AlmaLinux 8

1. Exigences

Processeur minimum à 2 cœurs avec au moins 1 Go de RAM ou 4 cœurs avec au moins 4 Go de RAM pour desservir au moins 1 000 nœuds.
Un nouveau Linux basé sur RedHat tel qu'Oracle, Rocky ou AlmaLinux
Au moins un accès utilisateur sudo non root
Accès au terminal
Connexion Internet

2. Exécutez la commande de mise à jour Dnf

Tout d'abord, exécutez la commande de mise à jour et de mise à niveau du système pour vous assurer que tout est à son état le plus récent sur votre système Linux.

sudo dnf update && upgrade

Installez également quelques outils dont nous avons eu besoin lors de la configuration :

sudo dnf install wget curl nano

Activer le référentiel EPEL et PowerTools :

sudo dnf install epel-release
sudo dnf config-manager --set-enabled powertools
sudo dnf update

3. Définir FQDN comme nom d'hôte du système

Le nom de domaine complet que vous souhaitez utiliser pour accéder à Puppet, défini comme nom d'hôte du serveur à l'aide de la commande ci-dessous :

sudo hostnamectl set-hostname puppetmaster.how2shout.com

Remarque  :Remplacez puppetmaster.how2shout.com avec tout ce que vous voulez définir et ajoutez également la même chose dans /etc/hosts le fichier avec l'adresse IP de votre serveur Puppet.

sudo nano /etc/hosts/

Ajoutez le nom d'hôte avec l'adresse IP du serveur, par exemple

192.168.1.45 puppetmaster.how2shout.com puppetmaster puppetserver

192.168.1.45 est l'adresse IP du serveur où le FDQN puppetmaster.how2shout.com pour la marionnette ainsi que quelques noms alternatifs que nous avons attribués à l'IP.

Redémarrez le serveur :

sudo reboot

4. Ajouter un dépôt Puppet sur Rocky ou Almalinux 8

Les derniers packages peuvent être facilement téléchargés en ajoutant le dépôt officiel Yum de Puppet sur Rocky Linux ainsi que sur AlmaLinux. Pour cela, suivez simplement les commandes données :

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

5. Installer Puppet Master Almalinux 8 | Serveur Rocky Linux 8

Une fois que nous avons ajouté le référentiel, il est assez facile d'installer Puppet Master sur notre serveur en utilisant le gestionnaire de packages DNF par défaut.

sudo dnf install puppetserver -y

6. Configurer le serveur maître Puppet

À partir de maintenant, la partie serveur de Puppet est déjà installée avec succès sur votre système. Ensuite, éditons son fichier de configuration pour effectuer quelques modifications.

sudo nano /etc/puppetlabs/puppet/puppet.conf

Ajoutez le FQDN que vous avez défini sur le serveur, dans le fichier de configuration, par exemple, "

dns_alt_names=puppetmaster.how2shout.com,puppetmaster,puppetserver,puppet

Alors que ajoutez également les lignes suivantes pour lui indiquer le certificat et le nom du serveur :

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

Enregistrez le fichier en utilisant CtrL+O , appuyez sur Entrée clé, puis quittez le fichier en utilisant Ctrl + X .

Pour en savoir plus sur la configuration des paramètres de marionnette fichiers, vous pouvez visiter les liens suivants :

# – https://puppet.com/docs/puppet/latest/config_important_settings.html
# – https://puppet.com/docs/puppet/latest/config_about_settings.html
# – https ://puppet.com/docs/puppet/latest/config_file_main.html
# – https://puppet.com/docs/puppet/latest/configuration.html

7. Allocation de mémoire JVM (facultatif)

Par défaut, la mémoire JAVA allouée au serveur maître Puppet est de 2 Go. Toutefois, si votre système n'autorise pas autant de mémoire à allouer ou si vous souhaitez en autoriser davantage, nous pouvons le faire en modifiant le fichier de configuration du serveur Puppet :

sudo nano /etc/sysconfig/puppetserver

Dans le fichier, trouvez deux arguments -Xms2g -Xmx2g et changez 2g en 1g (signifie 1 Go) ou 4g (pour 4 Go). Après cela, enregistrez le fichier :en utilisant Ctrl+X , appuyez sur Y , et appuyez sur Entrée clé.

8. Autoriser le service Puppet dans le pare-feu

Ouvrez le service Puppet dans le pare-feu de votre système pour vous assurer qu'il peut facilement communiquer sur le réseau avec les agents.

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

9. Démarrer Puppet Server sur Rocky | AlmaLinux 8

Eh bien, nous avons terminé tous les réglages nécessaires pour commencer avec le serveur. Par défaut, les services de maître Puppet ne fonctionneront pas, commençons et activons-les de la même manière.

sudo systemctl start puppetserver
sudo systemctl enable puppetserver

Pour vérifier l'état de l'utilisation du service :

sudo systemctl status puppetserver

Pour redémarrer, vous pouvez utiliser :

sudo systemctl restart puppetserver

10. Ajouter Puppet à votre chemin système

Pour utiliser la ligne de commande de cet outil quel que soit le répertoire dans lequel vous vous trouvez :

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

Recharger bash :

source ~/.bashrc

Pour confirmer, vous pouvez utiliser :

puppet --version

Passer en racine :

sudo su -

Émettre des certificats

puppetserver ca setup

À la liste :

puppetserver ca list --all

Confirmons que le serveur fonctionne correctement en l'utilisant avec un client Puppet installé localement.

puppent agent -t

ou

puppet agent --test --ca_server=puppetmaster.how2shout.com

Pour répertorier tous les certificats disponibles sur Puppet Master Node.

puppetserver ca list --all

Vous pouvez signer tous les certificats en attente en exécutant la commande :

puppetserver ca sign --all

De cette façon, nous pouvons installer à la fois le maître et l'agent sur Rocky Linux ou Almalinux. Si vous voulez un agent à distance ou un serveur sur le réseau, suivez les étapes ci-dessous.

——————————————————————————————————

11. Configurer l'agent Puppet sur un système ou un nœud distant

Maintenant, si vous souhaitez installer l'agent Puppet sur un serveur Linux ou Windows distant, nous pouvons le faire facilement.

#Pour les systèmes RPM tels que Redhat, CentOS, Rocky, Oracle Linux, Almalinux… utilisez les commandes suivantes :

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

#Pour les systèmes Ubuntu et Debian :

Visitez https://apt.puppet.com et copiez le lien de repo-package selon votre système Debian.

Par exemple-

Ubuntu 20.04

wget https://apt.puppet.com/puppet7-release-focal.deb

Pour Debian Bullseye :

wget https://apt.puppet.com/puppet7-release-bullseye.deb

Pour installer

sudo dpkg -i puppet7-release-focal.deb

Exécutez la mise à jour du système :

sudo apt update

Installer l'agent Puppet

sudo apt install puppet-agent

Démarrer le service :

sudo systemctl enable --now puppet

12. Configurer l'agent marionnette

Modifier le fichier de l'agent :

sudo nano /etc/puppetlabs/puppet/puppet.conf

Ajouter :

[main]
ssldir = /var/lib/puppet/ssl
vardir = /var/lib/puppet
cadir = /var/lib/puppet/ssl/ca
dns_alt_names = puppet

[agent]
server=puppetmaster-ipadress
ca_server=puppetmaster-ipadress

Enregistrez le fichier.

Maintenant, modifiez l'hôte et définissez le DNS pour puppetmaster

sudo nano /etc/hosts

exemple, de la manière suivante :

192.168.1.45 puppet-master-server fqdn
192.168.1.16 your-node-01-hostname

De la même manière, modifiez le fichier PuppetMaster /etc/hosts et définissez l'adresse IP et les noms d'hôte des nœuds

sudo nano /etc/hosts
192.168.1.16 your-node-01-hostname

Pour demander un certificat CA lors de l'obtention puis de l'exécution :

sudo su -
puppet agent -t


Rocky Linux
  1. Comment installer Redis Server sur Rocky Linux

  2. Comment installer Mattermost Server sur Rocky Linux 8

  3. Comment installer Jenkins sur Rocky Linux 8 / AlmaLinux 8

  4. Comment installer le serveur MariaDB dans Rocky Linux

  5. Comment installer l'agent Zabbix sur Rocky Linux/Alma Linux 8

Comment installer Jenkins sur AlmaLinux 8 ou Rocky Linux

Comment installer FreeIPA sur AlmaLinux ou Rocky 8

Installer Discord sur AlmaLinux ou Rocky Linux 8

Comment installer ClamAV sur Rocky Linux 8 | AlmaLinux

Installer Centreon Monitoring sur AlmaLinux 8 | Rocheux Linux 8

Comment installer Nginx sur Rocky Linux 9