Maître de la marionnette

Dans Puppet, l'architecture client-serveur de Puppet master est considérée comme l'autorité de contrôle de l'ensemble de l'installation. Puppet master agit en tant que serveur dans la configuration et contrôle toutes les activités sur tous les nœuds.

Pour tout serveur devant jouer le rôle de maître Puppet, le logiciel serveur Puppet doit être en cours d'exécution. Ce logiciel serveur est le composant clé du contrôle de toutes les activités sur les nœuds. Dans cette configuration, un point clé à retenir est d'avoir un accès super utilisateur à toutes les machines que l'on va utiliser dans la configuration. Voici les étapes pour configurer Puppet Master.

Conditions préalables

Private Network DNS- L'avant et l'arrière doivent être configurés, chaque serveur devant avoir un nom d'hôte unique. Si l'on n'a pas configuré le DNS, alors on peut utiliser un réseau privé pour communiquer avec l'infrastructure.

Firewall Open Port- Puppet master doit être ouvert sur un port particulier afin de pouvoir écouter les requêtes entrantes sur un port particulier. Nous pouvons utiliser n'importe quel port ouvert sur le pare-feu.

Création d'un serveur maître Puppet

Le maître de marionnettes que nous créons sera sur une machine CentOS 7 × 64 en utilisant Puppet comme nom d'hôte. La configuration système minimale pour la création du Puppet Master est de deux cœurs de processeur et de 1 Go de mémoire. La configuration peut également avoir une taille plus grande en fonction du nombre de nœuds que nous allons gérer avec ce maître. Dans l'infrastructure, est plus grand qu'il n'est configuré en utilisant 2 Go de RAM.

Nom d'hôte Rôle FQDN privé
Brcleprod001 Maître de la marionnette bnrcleprod001.brcl.com

Ensuite, il faut générer le certificat SSL Puppet master et le nom de la machine master sera copié dans le fichier de configuration de tous les nœuds.

Installation de NTP

Étant donné que Puppet Master est l'autorité centrale pour les nœuds d'agent dans une configuration donnée, l'une des principales responsabilités du maître Puppet est de maintenir une heure système précise pour éviter les problèmes de configuration potentiels, qui peuvent survenir lorsqu'il émet des certificats d'agent aux nœuds.

Si le problème de conflit de temps survient, les certificats peuvent apparaître expirés s'il y a des écarts de temps entre le maître et le nœud. Le protocole de temps réseau est l'un des mécanismes clés pour éviter ce genre de problèmes.

Liste des fuseaux horaires disponibles

$ timedatectl list-timezones

La commande ci-dessus fournira une liste complète des fuseaux horaires disponibles. Il fournira aux régions la disponibilité du fuseau horaire.

La commande suivante peut être utilisée pour définir le fuseau horaire requis sur la machine.

$ sudo timedatectl set-timezone India/Delhi

Installez NTP sur la machine serveur Puppet à l'aide de l'utilitaire yum de la machine CentOS.

$ sudo yum -y install ntp

Synchronisez NTP avec l'heure système que nous avons définie dans les commandes ci-dessus.

$ sudo ntpdate pool.ntp.org

Dans la pratique courante, nous mettrons à jour la configuration NTP pour utiliser des pools communs qui sont disponibles plus près des centres de données de la machine. Pour cela, nous devons éditer le fichier ntp.conf sous/etc.

$ sudo vi /etc/ntp.conf

Ajoutez le serveur de temps à partir des fuseaux horaires disponibles du pool NTP. Voici à quoi ressemble le fichier ntp.conf.

brcleprod001.brcl.pool.ntp.org 
brcleprod002.brcl.pool.ntp.org 
brcleprod003.brcl.pool.ntp.org
brcleprod004.brcl.pool.ntp.org

Enregistrez la configuration. Démarrez le serveur et activez le démon.

$ sudo systemctl restart ntpd 
$ sudo systemctl enable ntpd

Configurer le logiciel du serveur Puppet

Le logiciel serveur Puppet est un logiciel qui s'exécute sur la machine maître Puppet. C'est la machine qui pousse les configurations vers d'autres machines exécutant le logiciel de l'agent Puppet.

Activez le référentiel de collecte officiel Puppet Labs à l'aide de la commande suivante.

$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm

Installez le package puppetserver.

$ sudo yum -y install puppetserver

Configurer l'allocation de mémoire sur le serveur Puppet

Comme nous l'avons vu, par défaut, le serveur Puppet est configuré sur une machine de 2 Go de RAM. On peut personnaliser la configuration en fonction de la mémoire libre disponible sur la machine et du nombre de nœuds que le serveur gérera.

Modifiez la configuration du serveur de marionnettes en mode vi

$ sudo vi /etc/sysconfig/puppetserver  
Find the JAVA_ARGS and use the –Xms and –Xms options to set the memory allocation. 
We will allocate 3GB of space  
JAVA_ARGS="-Xms3g -Xmx3g"

Une fois terminé, enregistrez et quittez le mode d'édition.

Une fois la configuration ci-dessus terminée, nous sommes prêts à démarrer le serveur Puppet sur la machine maître avec la commande suivante.

$ sudo systemctl start puppetserver

Ensuite, nous ferons la configuration pour que le serveur de marionnettes démarre chaque fois que le serveur maître démarre.

$ sudo systemctl enable puppetserver

Section maître Puppet.conf

[master] 
autosign = $confdir/autosign.conf { mode = 664 } 
reports = foreman 
external_nodes = /etc/puppet/node.rb 
node_terminus = exec 
ca = true 
ssldir = /var/lib/puppet/ssl 
certname = sat6.example.com 
strict_variables = false 
manifest = 
/etc/puppet/environments/$environment/manifests/site.pp 
modulepath = /etc/puppet/environments/$environment/modules 
config_version =