Marionnette - Configuration

Une fois que Puppet est installé sur le système, l'étape suivante consiste à le configurer pour effectuer certaines opérations initiales.

Ouvrir les ports de pare-feu sur les machines

Pour que le serveur Puppet gère le serveur du client de manière centralisée, il faut ouvrir un port spécifié sur toutes les machines, c'est-à-dire 8140peut être utilisé s'il n'est utilisé sur aucune des machines que nous essayons de configurer. Nous devons activer la communication TCP et UDP sur toutes les machines.

Fichier de configuration

Le fichier de configuration principal de Puppet est etc/puppet/puppet.conf. Tous les fichiers de configuration sont créés dans une configuration basée sur des packages de Puppet. La plupart de la configuration requise pour configurer Puppet est conservée dans ces fichiers et une fois que l'exécution de Puppet a lieu, il récupère ces configurations automatiquement. Cependant, pour certaines tâches spécifiques telles que la configuration d'un serveur Web ou d'une autorité de certification externe (CA), Puppet a une configuration distincte pour les fichiers et les paramètres.

Les fichiers de configuration du serveur se trouvent dans conf.drépertoire qui est également connu sous le nom de Puppet master. Ces fichiers sont par défaut situés sous/etc/puppetlabs/puppetserver/conf.dchemin. Ces fichiers de configuration sont au format HOCON, ce qui conserve la structure de base de JSON mais il est plus lisible. Lorsque le démarrage de Puppet a lieu, il récupère tous les fichiers .cong du répertoire conf.d et les utilise pour apporter des modifications de configuration. Les modifications apportées à ces fichiers n'ont lieu qu'au redémarrage du serveur.

Fichier de liste et fichier de paramètres

  • global.conf
  • webserver.conf
  • web-routes.conf
  • puppetserver.conf
  • auth.conf
  • master.conf (obsolète)
  • ca.conf (obsolète)

Il existe différents fichiers de configuration dans Puppet qui sont spécifiques à chaque composant de Puppet.

Puppet.conf

Le fichier Puppet.conf est le fichier de configuration principal de Puppet. Puppet utilise le même fichier de configuration pour configurer toutes les commandes et services Puppet requis. Tous les paramètres liés à Puppet tels que la définition du maître Puppet, de l'agent Puppet, de Puppet s'appliquent et les certificats sont définis dans ce fichier. Puppet peut les renvoyer selon les besoins.

Le fichier de configuration ressemble à un fichier ini standard dans lequel les paramètres peuvent aller dans la section d'application spécifique de la section principale.

Section de configuration principale

[main] 
certname = Test1.vipin.com 
server = TestingSrv 
environment = production 
runinterval = 1h

Fichier de configuration de Puppet Master

[main] 
certname = puppetmaster.vipin.com 
server = MasterSrv 
environment = production 
runinterval = 1h 
strict_variables = true  
[master] 

dns_alt_names = MasterSrv,brcleprod01.vipin.com,puppet,puppet.test.com 
reports = puppetdb 
storeconfigs_backend = puppetdb 
storeconfigs = true 
environment_timeout = unlimited

Aperçu détaillé

Dans la configuration Puppet, le fichier qui va être utilisé a plusieurs sections de configuration dans lesquelles chaque section a différents types de plusieurs nombres de paramètres.

Section de configuration

Le fichier de configuration Puppet se compose principalement des sections de configuration suivantes.

  • Main- Ceci est connu comme la section globale qui est utilisée par toutes les commandes et services de Puppet. On définit les valeurs par défaut dans la section principale qui peuvent être remplacées par n'importe quelle section présente dans le fichier puppet.conf.

  • Master - Cette section est référencée par le service Puppet master et la commande Puppet cert.

  • Agent - Cette section est référencée par le service d'agent Puppet.

  • User - Il est principalement utilisé par la commande Puppet apply ainsi que par la plupart des commandes les moins courantes.

[main] 
certname = PuppetTestmaster1.example.com

Composants clés du fichier de configuration

Voici les composants clés du fichier de configuration.

Lignes de commentaire

Dans Puppet, toute ligne de commentaire commence par (#) signe. Cela peut être utile avec n'importe quelle quantité d'espace. Nous pouvons également avoir un commentaire partiel dans la même ligne.

# This is a comment. 
Testing = true #this is also a comment in same line

Lignes de paramètres

La ligne de paramètres doit être composée de -

  • N'importe quelle quantité d'espace de début (facultatif)
  • Nom des paramètres
  • Un signe égal = au signe, qui peut être entouré par n'importe quel nombre d'espace
  • Une valeur pour le réglage

Définition des variables

Dans la plupart des cas, la valeur des paramètres sera un seul mot, mais dans certains cas particuliers, il existe peu de valeurs spéciales.

Les chemins

Dans les paramètres du fichier de configuration, prenez une liste de répertoires. Lors de la définition de ces répertoires, il faut garder à l'esprit qu'ils doivent être séparés par le caractère séparateur du chemin système, qui est (:) sur les plates-formes * nix et des points-virgules (;) sous Windows.

# *nix version: 
environmentpath = $codedir/special_environments:$codedir/environments 
# Windows version: 
environmentpath = $codedir/environments;C:\ProgramData\PuppetLabs\code\environment

Dans la définition, le répertoire de fichiers qui est répertorié en premier est analysé, puis se déplace plus tard vers l'autre répertoire de la liste, s'il n'en trouve pas.

Fichiers et répertoires

Tous les paramètres qui prennent un seul fichier ou répertoire peuvent accepter un hachage facultatif d'autorisations. Lorsque le serveur démarre, Puppet applique ces fichiers ou répertoires dans la liste.

ssldir = $vardir/ssl {owner = service, mode = 0771}

Dans le code ci-dessus, les hachages autorisés sont le propriétaire, le groupe et le mode. Il n'y a que deux valeurs valides des clés de propriétaire et de groupe.