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 =