GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment configurer Puppet Master et Agent sur CentOS 8

Puppet est un outil de gestion de configuration open source et un framework d'automatisation de serveur. Puppet peut fonctionner sur des systèmes d'exploitation de type Unix, ainsi que sur les systèmes Microsoft Windows. Il vous permet de gérer et d'effectuer des tâches administratives et la configuration de centaines de systèmes à partir d'un serveur maître.

Dans ce tutoriel, je vais vous expliquer comment installer Puppet sur CentOS 8. Je vais installer et configurer un serveur CentOS 8 en tant que "maître" de la marionnette, et l'autre en tant qu'"agent".

Prérequis

  • 2 serveurs CentOS 8 ou plus
  • Privilèges root

Ce que nous allons faire :

  • Pré-installation de Puppet
  • Installer et configurer le serveur Puppet
  • Installer et configurer l'agent Puppet
  • Vérifier la configuration de l'agent Puppet
  • Créer le premier manifeste de marionnettes

Étape 1 - Pré-installation de Puppet

Dans cette première étape, nous allons préparer les serveurs maître et agent pour l'installation de la marionnette. Nous allons configurer les hôtes et le nom de domaine complet du serveur, configurer le serveur NTP et ajouter le référentiel de marionnettes pour le serveur CentOS 8.

Configurer les noms d'hôte

Tout d'abord, nous allons configurer les hôtes et le FQDN pour les deux serveurs. Le maître de la marionnette aura un nom d'hôte 'master' avec le FQDN 'master.hakase-labs.io', et l'agent aura le nom d'hôte 'agent01' avec le FQDN 'agent01.hakase-labs.io'.

Configurez le nom d'hôte à l'aide de la commande "hostnamectl" ci-dessous.

hostnamectl set-hostname hostname

Après cela, modifiez le fichier '/etc/hosts' pour configurer le serveur FQDN.

vim /etc/hosts

Remplacez l'adresse IP et le nom de domaine par les vôtres et collez-les.

10.5.5.21   master.hakase-labs.io   master
10.5.5.22   agent01.hakase-labs.io  agent01

Enregistrez et fermez.

Maintenant, redémarrez le service nommé par l'hôte pour appliquer un nouveau nom d'hôte et FQDN.

systemctl restart systemd-hostnamed

Et après cela, vérifiez le nom d'hôte et le FQDN à l'aide de la commande suivante.

hostname
hostname -f

Et vous obtiendrez un nouveau nom d'hôte et le FQDN a été configuré et appliqué au système.

Configurer le serveur NTP

Pour le serveur NTP, nous allons utiliser "chrony" pour nos serveurs.

Installez chrony en utilisant la commande dnf ci-dessous.

dnf install chrony

Après cela, modifiez la configuration de chrony '/etc/chrony.conf' à l'aide de l'éditeur vim.

vim /etc/chrony.conf

Changez maintenant le serveur de pool avec le pool le plus proche de votre pays. Vous pouvez vérifier le pool NTP disponible à l'aide de 'https://www.pool.ntp.org/zone/COUNTRYID'.

Copiez tous les serveurs NTP disponibles de votre pays et collez-les dans le fichier 'chrony.conf' comme ci-dessous.

server 0.id.pool.ntp.org iburst
server 1.id.pool.ntp.org iburst
server 2.id.pool.ntp.org iburst
server 3.id.pool.ntp.org iburst

Enregistrez et fermez.

Démarrez maintenant le service chronyd et ajoutez-le au démarrage du démarrage.

systemctl start chronyd
systemctl enable chronyd

La configuration du serveur NTP est terminée.

Ajouter un référentiel Puppet pour CentOS 8

Pour le serveur de dépôt de marionnettes CentOS 8, vous pouvez l'installer manuellement à l'aide de la commande rpm comme ci-dessous.

sudo rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm

Après cela, vérifiez tous les référentiels disponibles sur le système à l'aide de la commande dnf ci-dessous.

dnf repolist

Et vous obtiendrez que le référentiel de marionnettes a été ajouté au système CentOS 8.

Désactiver SELinux

Pour désactiver SELinux, vous pouvez modifier la configuration '/etc/sysconfig/selinux' à l'aide de l'éditeur vim.

vim /etc/sysconfig/selinux

Changez maintenant la configuration de la valeur 'SELINUX' en "désactivé".

SELINUX=disabled

Enregistrez et fermez, puis redémarrez le serveur.

sudo reboot

Une fois que vous vous êtes reconnecté, vérifiez l'état de SELinux à l'aide de la commande suivante.

sestatus

Et vous obtiendrez le statut désactivé de SELinux.

Étape 2 - Installer et configurer Puppetserver

Dans cette étape, nous allons installer et configurer le puppetserver sur le nœud maître.

Installez le puppetserver en utilisant la commande dnf ci-dessous.

sudo dnf install puppetserver

Après cela, nous devons modifier les "paramètres d'initialisation" pour puppetserver et modifier l'allocation de mémoire en fonction de la RAM dont nous disposons.

Modifiez le paramètre d'initialisation de puppetserver situé dans '/etc/sysconfig/puppetserver' à l'aide de l'éditeur vim.

vim /etc/sysconfig/puppetserver

Modifiez maintenant la configuration 'JAVA_ARGS' pour l'allocation de mémoire en fonction de votre RAM.

JAVA_ARGS="-Xms1g -Xmx1g ...."

Enregistrez et fermez.

Ensuite, allez dans le répertoire '/etc/puppetlabs' et modifiez le fichier de configuration de la marionnette 'puppet.conf'.

cd /etc/puppetlabs/
vim puppet/puppet.conf

Sous la configuration principale, définissez les noms alternatifs DNS avec le FQDN du serveur principal.

[master]
....
dns_alt_names=master.hakase-labs.io,puppet
....

Après cela, définissez la configuration du serveur principal de la marionnette comme ci-dessous.

[main]
certname = master.hakase-labs.io
server = master.hakase-labs.io
environment = production
runinterval = 1h

Enregistrez et fermez.

Ajoutez maintenant le service puppetserver au démarrage du démarrage et démarrez le service.

systemctl enable puppetserver
systemctl start puppetserver

Le puppetserver est opérationnel sur le serveur CentOS 8 avec le port TCP par défaut '8140'.

Ajoutez le port puppetserver '8140' au pare-feu à l'aide de la commande suivante.

firewall-cmd --add-port=8140/tcp --permanent
firewall-cmd --reload

Et par conséquent, l'installation et la configuration du maître de marionnettes se sont terminées avec succès.

Étape 3 - Installer et configurer l'agent Puppet

Après avoir installé le serveur maître Puppet 'master.hakase-labs.io', nous allons installer un agent marionnette sur le serveur 'agent01'.

Connectez-vous au serveur 'agent01' et installez le package puppet-agent à l'aide de la commande dnf ci-dessous.

sudo dnf install puppet-agent

Après cela, allez dans le répertoire '/etc/puppetlabs' et modifiez le fichier de configuration 'puppet.conf' à l'aide de l'éditeur vim.

cd /etc/puppetlabs/
vim puppet/puppet.conf

Modifiez la configuration 'certname' et 'server' par la vôtre et collez-la dans la configuration.

[main]
certname = agent01.hakase-labs.io
server = master.hakase-labs.io
environment = production
runinterval = 1h

Enregistrez et fermez.

Ensuite, démarrez le service Puppet et enregistrez l'agent Puppet sur le serveur maître à l'aide de la commande suivante.

/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

Et vous obtiendrez le résultat ci-dessous.

L'agent Puppet est maintenant opérationnel, il tente de s'enregistrer sur le serveur maître Puppet.

Revenons maintenant au serveur maître Puppet et vérifiez les demandes de certificat en attente.

/opt/puppetlabs/bin/puppetserver ca list

Et vous obtiendrez le certificat 'agent01.hakase-labs.io' sur la liste.

Signez maintenant le certificat 'agent01' à l'aide de la commande ci-dessous.

/opt/puppetlabs/bin/puppetserver ca sign --certname agent01.hakase-labs.io

Et l'agent marionnette est maintenant enregistré sur le serveur maître.

Étape 4 - Vérifier la configuration de l'agent Puppet

Vérifiez maintenant la configuration de l'agent Puppet et testez la connexion entre l'agent Puppet et le maître à l'aide de la commande suivante.

/opt/puppetlabs/bin/puppet agent --test

Et vous obtiendrez le résultat ci-dessous.

En conséquence, l'agent Puppet a extrait la configuration du maître de marionnettes et l'a appliquée au serveur sans aucune erreur.

Étape 5 - Créer le premier manifeste

À ce stade, l'installation et la configuration de Puppet pour le maître et l'agent sont terminées.

Et pour cette étape, nous allons tester notre configuration en créant le premier manifeste de marionnette pour installer le package httpd.

Accédez au répertoire '/etc/puppetlabs/code/environments/production/manifests' et créez le premier fichier manifeste de marionnette 'httpd.pp'.

cd /etc/puppetlabs/code/
cd environments/production/manifests

vim httpd.pp

Collez la configuration suivante.

node 'agent01.hakase-labs.io' {
    package { 'httpd':
        ensure  => "installed",
    }
    service { 'httpd':
        ensure => running,
    enable => true
    }
}

Enregistrez et fermez.

Allez maintenant au nœud de l'agent Puppet 'agento01' et exécutez la commande suivante.

/opt/puppetlabs/bin/puppet agent --test

Et vous verrez le résultat comme ci-dessous.

L'agent Puppet a extrait une nouvelle configuration du maître Puppet pour installer le package httpd et démarrer le service httpd.

Sur le nœud 'agent01', vérifiez l'état du service httpd et vérifiez le port HTTP '80'

systemctl status httpd
netstat -plntu

Et vous obtiendrez que le service httpd est opérationnel sur le serveur 'agent01' avec le port HTTP par défaut '80'. Le package httpd a été installé via le manifeste de marionnettes que nous avons créé en haut.

Et par conséquent, l'installation et la configuration du maître et de l'agent Puppet sur le serveur CentOS 8 ont été effectuées avec succès.


Cent OS
  1. Comment configurer un serveur SFTP sur CentOS

  2. Comment installer Puppet sur CentOS 8 / RHEL 8

  3. Comment configurer le serveur SysLog sur CentOS 7 / RHEL 7

  4. Comment configurer le serveur NFS sur CentOS 7 / RHEL 7

  5. Comment installer Puppet 6.x sur CentOS 7 / RHEL 7

Comment configurer Puppet Master et Agent sur CentOS 7

Comment configurer un serveur SVN sur CentOS

Comment installer le serveur et l'agent Puppet sur Debian 11

Comment installer et configurer le serveur FTP sur CentOS

Comment configurer HAProxy sur CentOS 8

Comment installer Puppet Server sur CentOS 7