Marioneta - Configuración

Una vez que tenemos Puppet instalado en el sistema, el siguiente paso es configurarlo para que realice determinadas operaciones iniciales.

Puertos de firewall abiertos en máquinas

Para que el servidor Puppet administre el servidor del cliente de manera centralizada, es necesario abrir un puerto específico en todas las máquinas, es decir 8140se puede utilizar si no está en uso en ninguna de las máquinas que estamos intentando configurar. Necesitamos habilitar la comunicación TCP y UDP en todas las máquinas.

Archivo de configuración

El archivo de configuración principal de Puppet es etc/puppet/puppet.conf. Todos los archivos de configuración se crean en una configuración basada en paquetes de Puppet. La mayor parte de la configuración que se requiere para configurar Puppet se guarda en estos archivos y una vez que se realiza la ejecución de Puppet, toma esas configuraciones automáticamente. Sin embargo, para algunas tareas específicas, como configurar un servidor web o una autoridad de certificación (CA) externa, Puppet tiene una configuración separada para archivos y configuraciones.

Los archivos de configuración del servidor se encuentran en conf.ddirectorio que también se conoce como Puppet master. Estos archivos se encuentran por defecto en/etc/puppetlabs/puppetserver/conf.dcamino. Estos archivos de configuración están en formato HOCON, que mantiene la estructura básica de JSON pero es más legible. Cuando se inicia Puppet, toma todos los archivos .cong del directorio conf.d y los usa para realizar cualquier cambio de configuración. Cualquier cambio en estos archivos solo tiene lugar cuando se reinicia el servidor.

Archivo de lista y archivo de configuración

  • global.conf
  • webserver.conf
  • web-routes.conf
  • puppetserver.conf
  • auth.conf
  • master.conf (obsoleto)
  • ca.conf (obsoleto)

Hay diferentes archivos de configuración en Puppet que son específicos de cada componente de Puppet.

Puppet.conf

El archivo Puppet.conf es el archivo de configuración principal de Puppet. Puppet utiliza el mismo archivo de configuración para configurar todos los servicios y comandos de Puppet necesarios. Todos los ajustes relacionados con Puppet, como la definición de Puppet master, Puppet agent, Puppet Apply y certificados, se definen en este archivo. Puppet puede referirlos según el requisito.

El archivo de configuración se asemeja a un archivo ini estándar en el que la configuración puede ir a la sección de aplicación específica de la sección principal.

Sección de configuración principal

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

Archivo de configuración 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

Descripción general detallada

En la configuración de Puppet, el archivo que se va a utilizar tiene varias secciones de configuración en las que cada sección tiene diferentes tipos de múltiples configuraciones.

Sección de configuración

El archivo de configuración de Puppet consta principalmente de las siguientes secciones de configuración.

  • Main- Esto se conoce como la sección global que es utilizada por todos los comandos y servicios en Puppet. Uno define los valores predeterminados en la sección principal que pueden ser anulados por cualquier sección presente en el archivo puppet.conf.

  • Master - Esta sección es referida por el servicio Puppet master y el comando Puppet cert.

  • Agent - Esta sección es referida por el servicio de agentes de Puppet.

  • User - Es utilizado principalmente por el comando de aplicación Puppet, así como por muchos de los comandos menos comunes.

[main] 
certname = PuppetTestmaster1.example.com

Componentes clave del archivo de configuración

Los siguientes son los componentes clave del archivo de configuración.

Líneas de comentario

En Puppet, cualquier línea de comentario comienza con (#) firmar. Esto puede pretender con cualquier cantidad de espacio. También podemos tener un comentario parcial dentro de la misma línea.

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

Líneas de configuración

La línea de configuración debe constar de:

  • Cualquier cantidad de espacio inicial (opcional)
  • Nombre de la configuración
  • Un igual = para firmar, que puede estar rodeado por cualquier número de espacio
  • Un valor para el entorno

Configuración de variables

En la mayoría de los casos, el valor de la configuración será una sola palabra, pero en algunos casos especiales, hay pocos valores especiales.

Caminos

En la configuración del archivo de configuración, tome una lista de directorios. Al definir estos directorios, se debe tener en cuenta que deben estar separados por el carácter separador de ruta del sistema, que es (:) en plataformas * nix y punto y coma (;) en Windows.

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

En la definición, el directorio de archivos que se enumera primero se escanea y luego se mueve al otro directorio de la lista, si no encuentra uno.

Archivos y directorios

Todas las configuraciones que toman un solo archivo o directorio pueden aceptar un hash opcional de permisos. Cuando el servidor se inicia, Puppet aplicará esos archivos o directorios en la lista.

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

En el código anterior, los hash permitidos son propietario, grupo y modo. Solo hay dos valores válidos de las claves de propietario y de grupo.