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

Comment configurer Puppet Master et Agent sur CentOS 7

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 didacticiel, je vais vous expliquer comment installer Puppet sur CentOS 7. J'installerai et configurerai un serveur CentOS 7 en tant que "maître" de marionnette et l'autre en tant qu'"agent".

Prérequis

  • 2 serveurs CentOS 7
    • 10.0.15.10      master.hakase.io    2 Go de mémoire
    • 10.0.15.11      agent.hakase.io
  • Privilèges root

Ce que nous allons faire :

  1. Pré-installation de Puppet
  2. Installer et configurer le serveur Puppet
  3. Installer et configurer l'agent Puppet
  4. Vérifier la configuration de l'agent Puppet
  5. Créer le premier manifeste de marionnettes

Étape 1 - Pré-installation de Puppet

Dans cette étape, nous effectuerons certaines tâches, notamment l'installation et la configuration sur les serveurs marionnettes maître et agent marionnettes. Nous allons configurer le fichier de l'hôte, synchroniser l'heure à l'aide du serveur NTP, désactiver SELinux et ajouter le référentiel de marionnettes au système.

- Configurer les hôtes

Connectez-vous au puppet master et à l'agent en utilisant votre utilisateur root.

ssh [email protected]
ssh [email protected]

Modifiez maintenant les hôtes à l'aide de l'éditeur vim.

vim /etc/hosts

Ajoutez la configuration suivante à la fin de la ligne.

10.0.15.10      master.hakase.io
10.0.15.11      agent.hakase.io

Enregistrez et quittez.

Testez maintenant en utilisant la commande ping.

ping master.hakase.io
ping agent.hakase.io

Et assurez-vous d'obtenir l'adresse IP du serveur 10.0.15.10 et 10.0.15.11.

- Configurer le serveur NTP

Il est très important de synchroniser l'heure entre le serveur maître et l'agent.

Installez les packages NTP sur les deux serveurs à l'aide de la commande yum.

yum -y install ntp ntpdate

Une fois l'installation terminée, choisissez le pool NTP comme vous le souhaitez en exécutant la commande ci-dessous.

sudo ntpdate 0.centos.pool.ntp.org

Démarrez maintenant le service NTP et activez-le pour qu'il se lance à chaque démarrage du système.

sudo systemctl start ntpd
sudo systemctl enable ntpd

L'installation et la configuration de NTP sont terminées.

- Désactiver SELinux

Modifiez la configuration SELinux à l'aide de vim.

vim /etc/sysconfig/selinux

Changez la valeur SELINUX en "désactivé".

SELINUX=disabled

Enregistrez et quittez.

- Ajouter un référentiel Puppet

Ajoutez maintenant le référentiel de marionnettes au système à l'aide de la commande rpm ci-dessous.

rpm -Uvh https://yum.puppetlabs.com/puppet5/puppet5-release-el-7.noarch.rpm

Une fois terminé, redémarrez les deux serveurs.

reboot

Nous sommes maintenant prêts pour l'installation et la configuration de la marionnette.

Étape 2 - Installer et configurer Puppetserver

Dans cette étape, nous allons installer le puppetserver sur le serveur master.hakase.io. Installez puppetserver à l'aide de la commande yum ci-dessous.

sudo yum -y install puppetserver

Une fois l'installation terminée, nous devons configurer l'allocation de mémoire pour puppetserver. Nous allons définir l'allocation de mémoire maximale pour puppetserver à 1 Go.

Modifiez la configuration de 'puppetserver' à l'aide de vim.

vim /etc/sysconfig/puppetserver

Changez maintenant la ligne comme ci-dessous.

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

Enregistrez et quittez.

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

cd /etc/puppetlabs/puppet
vim puppet.conf

Ajoutez la configuration suivante.

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

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

Enregistrez et quittez.

Démarrez maintenant le puppetserver et activez-le pour qu'il se lance à chaque fois au démarrage.

systemctl start puppetserver
systemctl enable puppetserver

L'installation et la configuration de Puppetserver ont été effectuées avec succès.

Si vous utilisez firewalld sur votre système, ajoutez le port puppetserver à la liste à l'aide de la commande firewall-cmd ci-dessous.

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

Étape 3 - Installer et configurer l'agent Puppet

Nous allons installer l'agent marionnette sur le serveur 'agent.hakase.io'.

Installez l'agent marionnette à l'aide de la commande yum ci-dessous.

yum install -y puppet-agent

Une fois l'installation terminée, accédez au répertoire de configuration de la marionnette et modifiez le fichier puppet.conf.

cd /etc/puppetlabs/puppet
vim puppet.conf

Collez la configuration suivante.

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

Enregistrez et quittez.

Ensuite, nous enregistrerons l'agent de marionnettes auprès du marionnettiste.

Exécutez la commande ci-dessous sur le shell de l'agent marionnette.

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

L'agent de marionnettes est maintenant en cours d'exécution sur le serveur et tente de s'enregistrer auprès du maître de marionnettes.

Revenons maintenant au shell maître de la marionnette et exécutez la commande ci-dessous.

/opt/puppetlabs/bin/puppet cert list

Et vous obtiendrez la demande de signature de certificat (CSR) en attente du serveur d'agent marionnette 'agent.hakase.io'.

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

/opt/puppetlabs/bin/puppet cert sign agent.hakase.io

Et le résultat devrait ressembler à ce qui suit :

L'agent marionnette est maintenant en cours d'exécution sur le système et le certificat de l'agent a été signé par le maître marionnettiste.

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

Une fois que le maître de marionnettes a signé le fichier de certificat pour l'agent, exécutez la commande ci-dessous sur l'agent de marionnettes pour vérifier la configuration.

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

Et vous obtiendrez le résultat comme indiqué ci-dessous.

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

L'installation et la configuration du puppet master et de l'agent sont terminées. Et pour cette étape, nous allons créer un manifeste simple à tester.

Nous allons créer le manifeste pour l'installation du serveur Web Apache httpd.

Sur le serveur maître de marionnettes, accédez au répertoire '/etc/puppetlabs/code/' et créez le nouveau fichier manifeste 'site.pp' à l'aide de vim.

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

Créer un nouveau fichier manifeste.

vim site.pp

Collez la configuration suivante.

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

Enregistrez et quittez.

Ouvrez maintenant le shell du serveur de l'agent de marionnettes et exécutez la commande ci-dessous.

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

La commande récupérera le nouveau fichier de configuration du manifeste à partir du maître de marionnettes, puis l'appliquera au serveur de l'agent.

Voici le résultat.

Ouvrez votre navigateur Web et saisissez l'adresse IP de l'agent marionnette.

http://10.0.15.11/

Et vous obtiendrez la page HTTP par défaut comme ci-dessous.

Le serveur Web httpd a été installé à l'aide du manifeste de la marionnette.

L'installation et la configuration de Puppet Master et Puppet Agent sur CentOS 7 ont été effectuées avec succès.


Cent OS
  1. Comment installer et configurer DRBD sur CentOS

  2. Installez Puppet Master et Agent sur Ubuntu 20.04

  3. Comment installer CentOS 6 sur PC | Installation de CentOS 6 - Configuration post-installation

  4. Comment installer et configurer Puppet 4 sur CentOS et Ubuntu ? [Maître et agent]

  5. Comment installer le maître et le client Puppet dans Ubuntu 14.04

Comment installer et configurer Asterisk 13 (PBX) sur Centos 7

Comment configurer Openshift Origin sur CentOS 7

Installer et configurer Puppet sur CentOS 7 / RHEL 7

Comment installer et configurer le serveur FTP sur CentOS

Comment configurer le pare-feu Iptables sur CentOS

Comment installer Puppet sur CentOS 8