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.