Titiritero
En Puppet, la arquitectura cliente-servidor de Puppet master se considera la autoridad de control de toda la configuración. Puppet Master actúa como servidor en la configuración y controla todas las actividades en todos los nodos.
Para cualquier servidor que necesite actuar como Puppet master, debe tener el software del servidor Puppet en ejecución. Este software de servidor es el componente clave para controlar todas las actividades en los nodos. En esta configuración, un punto clave para recordar es tener acceso de superusuario a todas las máquinas que se van a utilizar en la configuración. Los siguientes son los pasos para configurar Puppet master.
Prerrequisitos
Private Network DNS- Se debe configurar el avance y el retroceso, donde cada servidor debe tener un nombre de host único. Si uno no tiene el DNS configurado, entonces puede usar una red privada para comunicarse con la infraestructura.
Firewall Open Port- Puppet Master debe estar abierto en un puerto en particular para que pueda escuchar las solicitudes entrantes en un puerto en particular. Podemos usar cualquier puerto que esté abierto en el firewall.
Creando el servidor Puppet Master
Puppet master que estamos creando estará en una máquina CentOS 7 × 64 usando Puppet como nombre de host. La configuración mínima del sistema para la creación de Puppet master es de dos núcleos de CPU y 1 GB de memoria. La configuración también puede tener un tamaño mayor dependiendo de la cantidad de nodos que vayamos a administrar con este maestro. En la infraestructura, es más grande de lo que está configurado usando 2 GB de RAM.
Nombre de host | Papel | FQDN privado |
---|---|---|
Brcleprod001 | Titiritero | bnrcleprod001.brcl.com |
A continuación, es necesario generar el certificado SSL Puppet master y el nombre de la máquina master se copiará en el archivo de configuración de todos los nodos.
Instalación de NTP
Dado que Puppet master es la autoridad central para los nodos de agente en cualquier configuración dada, es una de las responsabilidades clave del Puppet master mantener la hora exacta del sistema para evitar posibles problemas de configuración, que pueden surgir cuando emite certificados de agente a los nodos.
Si surge el problema del conflicto de tiempo, los certificados pueden parecer vencidos si hay discrepancias de tiempo entre el maestro y el nodo. El protocolo de tiempo de red es uno de los mecanismos clave para evitar este tipo de problemas.
Listado de zonas horarias disponibles
$ timedatectl list-timezones
El comando anterior proporcionará una lista completa de zonas horarias disponibles. Proporcionará a las regiones disponibilidad de zona horaria.
El siguiente comando se puede utilizar para establecer la zona horaria requerida en la máquina.
$ sudo timedatectl set-timezone India/Delhi
Instale NTP en la máquina del servidor Puppet usando la utilidad yum de la máquina CentOS.
$ sudo yum -y install ntp
Sincronice NTP con la hora del sistema que hemos configurado en los comandos anteriores.
$ sudo ntpdate pool.ntp.org
En la práctica común, actualizaremos la configuración de NTP para usar grupos comunes que están disponibles más cerca de los centros de datos de la máquina. Para esto, necesitamos editar el archivo ntp.conf en/etc.
$ sudo vi /etc/ntp.conf
Agregue el servidor horario de las zonas horarias disponibles del grupo NTP. A continuación se muestra cómo se ve el archivo ntp.conf.
brcleprod001.brcl.pool.ntp.org
brcleprod002.brcl.pool.ntp.org
brcleprod003.brcl.pool.ntp.org
brcleprod004.brcl.pool.ntp.org
Guarde la configuración. Inicie el servidor y habilite el demonio.
$ sudo systemctl restart ntpd
$ sudo systemctl enable ntpd
Configurar el software Puppet Server
El software del servidor Puppet es un software que se ejecuta en la máquina Puppet master. Es la máquina que envía configuraciones a otras máquinas que ejecutan el software del agente Puppet.
Habilite el repositorio oficial de colecciones de Puppet labs usando el siguiente comando.
$ sudo rpm -ivh https://yum.puppetlabs.com/puppetlabs-release-pc1-el7.noarch.rpm
Instale el paquete puppetserver.
$ sudo yum -y install puppetserver
Configurar la asignación de memoria en el servidor Puppet
Como hemos comentado, de forma predeterminada, el servidor Puppet se configura en una máquina de 2 GB de RAM. Se puede personalizar la configuración de acuerdo con la memoria libre disponible en la máquina y cuántos nodos administrará el servidor.
Edite la configuración del servidor títere en el modo 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"
Una vez hecho esto, guarde y salga del modo de edición.
Después de completar toda la configuración anterior, estamos listos para iniciar el servidor Puppet en la máquina maestra con el siguiente comando.
$ sudo systemctl start puppetserver
A continuación, realizaremos la configuración para que el servidor títere se inicie siempre que se inicie el servidor maestro.
$ sudo systemctl enable puppetserver
Sección maestra de 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 =