Red de conocimiento informático - Material del sitio web - Cómo instalar el servidor y cliente Puppet en CentOS y RHEL

Cómo instalar el servidor y cliente Puppet en CentOS y RHEL

En CentOS/RHEL 6.5:

# rpm -ivh /el/6.5/products/x86_64/puppetlabs-release-6-10.noarch.rpm

En CentOS/RHEL 7:

# rpm -ivh /el/7/products/x86_64/puppetlabs-release-7-10.noarch.rpm

Instalación del servidor

Instale el paquete "puppet-server" en el servidor que desea utilizar como servidor maestro.

# yum install Puppet-server

Una vez completada la instalación, configure el servidor Puppet para que se inicie automáticamente y lo abra cuando se inicie el sistema.

# chkconfig Puppetmaster on # Service Puppetmaster Start

Ahora que tenemos el servidor en ejecución, debemos asegurarnos de que sea accesible desde nuestra red.

En CentOS/RHEL 6, donde se utiliza iptables como firewall, agregue la siguiente línea a la sección ":OUTPUT ACCEPT" de /etc/sysconfig/iptables.

1 -A INPUT -m state --state NEW -m tcp -p tcp --dport 8140 -j ACCEPT

Para que este cambio surta efecto es necesario para reiniciar iptables.

# service iptables restart

En CentOS/RHEL 7 usando firewalld, puede usar el siguiente comando para lograr la misma operación:

# firewall-cmd - -permanent --zone=public --add-port=8140/tcp # firewall-cmd --reload

Instalación del cliente

Instala el paquete de software del cliente Puppet en el nodo del cliente. ejecute el siguiente comando para este propósito:

# yum install Puppet

Una vez completada la instalación, asegúrese de que Puppet se inicie después de que se inicie el sistema.

# chkconfig Puppet en

Su nodo cliente Puppet debe saber dónde está ubicado el servidor maestro Puppet. La mejor manera de hacerlo es utilizar un servidor DNS, donde puede configurar el nombre de dominio de Puppet. Si no tiene un servidor DNS que funcione, puede usar el archivo /etc/hosts. Para hacer esto, simplemente agregue las siguientes líneas:

1.2.3.4 servidor.su.dominio 2.3.4.5 cliente. -nodo.tu.dominio

1.2.3.4 corresponde a la dirección IP del servidor maestro Puppet, "servidor.tu.dominio" es el nombre de dominio del servidor maestro (el valor predeterminado suele ser el del servidor nombre de host), "nodo-cliente.su.dominio" es el nodo del cliente. Este archivo de hosts debe configurarse en consecuencia en todos los servidores relevantes (servidores Puppet master y cliente).

Después de completar esta configuración, debemos indicar al cliente Puppet quién es el servidor maestro. De forma predeterminada, Puppet busca un servidor llamado "puppet", pero esa configuración generalmente no se ajusta a su configuración de red, por lo que la cambiaremos al nombre de dominio completo (FQDN) del servidor maestro de Puppet.

Abra el archivo /etc/sysconfig/puppet y reemplace el valor "PUPPET_SERVER" con el nombre de dominio del servidor principal de Puppet especificado en /etc/hosts:

PUPPET_SERVER=servidor.su.dominio

Principal El nombre del servidor también debe definirse en la sección "[agente]" de /etc/puppet/puppet.conf:

serverserver=server.your.domain

Ahora puede iniciar el cliente Puppet:

# service Puppet start

Necesitamos usar el siguiente comando para forzar al cliente a contactar con el servidor principal de Puppet:

# Puppet agent - -test

Deberías ver un resultado similar al siguiente. Que no cunda el pánico, esto es normal ya que el servidor aún no está verificado en el servidor Puppet Master.

Saliendo; no se encontró ningún certificado y waitforcert está deshabilitado

Vuelva a su servidor de Puppet Master y verifique la solicitud de verificación del certificado:

# lista de certificados de Puppet

p >

Debería ver una lista de todos los servidores que solicitan firmas de certificados del titiritero. Busque el nombre de host del servidor cliente y utilice el siguiente comando para firmar (el nodo-cliente es el nombre de dominio del nodo cliente):

# Puppet cert sign nodo-cliente

En este punto, ya tiene un cliente y servidor Puppet en funcionamiento. ¡Felicidades! Sin embargo, en este momento, el servidor maestro Puppet no puede indicarle al cliente que haga nada. Entonces, ¿por qué no crear un archivo de manifiesto básico y configurar nodos cliente para instalar utilidades básicas?

Conéctese nuevamente al servidor Puppet y asegúrese de que exista el directorio /etc/puppet/manifests.

# mkdir -p /etc/puppet/manifests

Ahora, crea el archivo de manifiesto /etc/puppet/manifests/site.pp con el siguiente contenido

nodo 'nodo-cliente' { incluir custom_utils } clase custom_utils { paquete { ["nmap","telnet","vim-enhanced","traceroute"]: asegurar => último, permitir_virtual => falso, } }

Luego reinicie el servicio de Puppetmaster.

# service puppetmaster restart

El intervalo de actualización predeterminado de la configuración del cliente es de 30 minutos. Si desea forzar manualmente que los cambios surtan efecto, debe ejecutar el siguiente comando en el; nodo del cliente:

# Puppet Agent -t

Si desea cambiar el intervalo de actualización del cliente predeterminado, cambie la siguiente línea:

runinterval =

Agregar a la sección "[agente]" de /etc/puppet/puppet.conf en el nodo cliente. La configuración es un intervalo de tiempo, la unidad puede ser segundos (30 o 30 s), minutos (30 m), horas (6 h), días (2d) o años (5y). Nota: Un intervalo de ejecución de 0 significa "ejecutar continuamente", no "nunca ejecutar".

Consejos y métodos

1. Depuración

A veces esto puede suceder: debes enviar la configuración incorrecta y depurar donde aparece Fault. Para hacer esto, siempre puede comenzar verificando los registros en /var/log/puppet/, o ejecutar manualmente el software del agente y ver el resultado:

# Puppet Agent -t

Por defecto, "-t" activa el modo detallado, por lo que le permite ver la salida de Puppet. Este comando también tiene varios parámetros que pueden ayudar a identificar el problema de forma un poco más granular. La primera opción práctica es:

# Puppet Agent -t --debug

debug indica todos los pasos que siguió Puppet durante su ejecución. Es útil para depurar reglas muy complejas. Otro parámetro que puede resultar útil es:

# Puppet Agent -t --noop

Esta opción configura Puppet en el llamado modo de ejecución en seco y no implementa ningún cambio. Puppet solo genera el contenido que se presentará en la pantalla y no escribe nada en el disco.

2. Módulos

Después de un tiempo, te encontrarás en una situación en la que querrás tener un archivo de manifiesto más complejo. Pero antes de sentarte y empezar a escribir el archivo de manifiesto, deberías tomarte un momento y explorar. Forge es un enorme repositorio de software que contiene muchos módulos de la comunidad Puppet. Lo más probable es que encuentre soluciones a sus problemas aquí. Si no lo encuentra, escriba su propio módulo y envíelo para que otros puedan beneficiarse de la cultura del módulo Puppet.

Ahora, digamos que has encontrado un módulo que resuelve tu problema. Entonces, ¿cómo instalarlo en tu sistema? En realidad, la instalación es bastante sencilla, porque Puppet ya contiene una interfaz para descargar módulos directamente. Simplemente escriba el siguiente comando:

# Puppet module install --version 0.0.0

es el nombre del módulo que seleccionó, la versión es opcional (si no especificado, descargue la última versión.) Si no recuerda el nombre del módulo que desea instalar, intente utilizar la búsqueda de módulos para encontrarlo:

# búsqueda de módulo de marionetas

Así, obtendrá una lista de todos los módulos que contienen la cadena de búsqueda.

# módulo de marionetas buscar apache

Aviso: Buscando... NOMBRE DESCRIPCIÓN AUTOR PALABRAS CLAVE ejemplo42-apache Módulo de marionetas para apache @example42 ejemplo42, apache puppetlabs-apache Módulo de marionetas para Apache @puppetlabs apache web httpd centos rhel ssl wsgi proxy theforeman-apache Configuración del servidor Apache HTTP @theforeman foreman apache httpd DEPRECADO

Si desea ver qué módulos están instalados, simplemente escriba el siguiente comando:

# lista de módulos de Puppet

Conclusión

En este punto, debería tener un servidor maestro Puppet completamente funcional que pueda proporcionar una configuración básica para uno o más servidores cliente. Ahora siéntete libre de agregar más ajustes a tu configuración y adaptarla a tu infraestructura. No te preocupes por jugar con Puppet, descubrirás que te resultará de gran ayuda.