GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo configurar Puppet Master y Agent en CentOS 8

Puppet es una herramienta de administración de configuración de código abierto y un marco de automatización de servidores. Puppet puede ejecutarse en sistemas operativos similares a Unix, así como en los sistemas Microsoft Windows. Le permite administrar y realizar tareas administrativas y la configuración de cientos de sistemas desde un servidor maestro.

En este tutorial, le mostraré cómo instalar Puppet en CentOS 8. Instalaré y configuraré un servidor CentOS 8 como 'maestro' de títeres y el otro como 'agente'.

Requisitos previos

  • 2 o más servidores CentOS 8
  • Privilegios de raíz

Qué haremos:

  • Preinstalación de marionetas
  • Instalar y configurar el servidor Puppet
  • Instalar y configurar Puppet Agent
  • Verificar la configuración del agente títere
  • Crear el primer manifiesto de marionetas

Paso 1:instalación previa de Puppet

En este primer paso, prepararemos los servidores maestro y agente para la instalación de la marioneta. Vamos a configurar hosts y FQDN del servidor, configurar el servidor NTP y agregar el repositorio de títeres para el servidor CentOS 8.

Configurar nombres de host

En primer lugar, configuraremos hosts y FQDN para ambos servidores. El titiritero tendrá un nombre de host 'master' con el FQDN 'master.hakase-labs.io', y el agente tendrá el nombre de host 'agent01' con el FQDN 'agent01.hakase-labs.io'.

Configure el nombre de host usando el comando 'hostnamectl' a continuación.

hostnamectl set-hostname hostname

Después de eso, edite el archivo '/etc/hosts' para configurar el servidor FQDN.

vim /etc/hosts

Cambie la dirección IP y el nombre de dominio por los suyos propios y péguelos.

10.5.5.21   master.hakase-labs.io   master
10.5.5.22   agent01.hakase-labs.io  agent01

Guardar y cerrar.

Ahora reinicie el servicio con nombre de host para aplicar un nuevo nombre de host y FQDN.

systemctl restart systemd-hostnamed

Y después de eso, verifique el nombre de host y el FQDN usando el siguiente comando.

hostname
hostname -f

Y obtendrá un nuevo nombre de host y FQDN se ha configurado y aplicado al sistema.

Configurar servidor NTP

Para el servidor NTP, usaremos "chrony" para nuestros servidores.

Instale chrony usando el comando dnf a continuación.

dnf install chrony

Después de eso, edite la configuración de chrony '/etc/chrony.conf' usando el editor vim.

vim /etc/chrony.conf

Ahora cambie el servidor de la piscina con la piscina más cercana de su país. Puede verificar el NTP del grupo disponible usando 'https://www.pool.ntp.org/zone/COUNTRYID'.

Copie todos los servidores NTP disponibles de su país y péguelos en el archivo 'chrony.conf' como se muestra a continuación.

server 0.id.pool.ntp.org iburst
server 1.id.pool.ntp.org iburst
server 2.id.pool.ntp.org iburst
server 3.id.pool.ntp.org iburst

Guardar y cerrar.

Ahora inicie el servicio chronyd y agréguelo al tiempo de arranque de inicio.

systemctl start chronyd
systemctl enable chronyd

La configuración del servidor NTP se ha completado.

Añadir depósito de marionetas para CentOS 8

Para el servidor CentOS 8 del repositorio de marionetas, puede instalarlo manualmente usando el comando rpm como se muestra a continuación.

sudo rpm -Uvh https://yum.puppet.com/puppet6-release-el-8.noarch.rpm

Después de eso, verifique todos los repositorios disponibles en el sistema usando el comando dnf a continuación.

dnf repolist

Y obtendrá que el repositorio de marionetas se ha agregado al sistema CentOS 8.

Deshabilitar SELinux

Para deshabilitar SELinux, puede editar la configuración '/etc/sysconfig/selinux' usando el editor vim.

vim /etc/sysconfig/selinux

Ahora cambie la configuración del valor 'SELINUX' a "deshabilitado".

SELINUX=disabled

Guarde y cierre, luego reinicie el servidor.

sudo reboot

Una vez que haya iniciado sesión nuevamente, verifique el estado de SELinux usando el siguiente comando.

sestatus

Y obtendrá el estado de SELinux deshabilitado.

Paso 2:instalar y configurar Puppetserver

En este paso, instalaremos y configuraremos el servidor de marionetas en el nodo principal.

Instale el servidor de marionetas usando el comando dnf a continuación.

sudo dnf install puppetserver

Después de eso, necesitamos editar la 'configuración de inicio' para el servidor de marionetas y cambiar la asignación de memoria dependiendo de la RAM que tengamos.

Edite la configuración de inicio de puppetserver que se encuentra en '/etc/sysconfig/puppetserver' usando el editor vim.

vim /etc/sysconfig/puppetserver

Ahora cambie la configuración de 'JAVA_ARGS' para la asignación de memoria según su RAM.

JAVA_ARGS="-Xms1g -Xmx1g ...."

Guardar y cerrar.

A continuación, vaya al directorio '/etc/puppetlabs' y edite el archivo de configuración de títeres 'puppet.conf'.

cd /etc/puppetlabs/
vim puppet/puppet.conf

En la configuración maestra, defina los nombres alternativos de DNS con el FQDN del servidor maestro.

[master]
....
dns_alt_names=master.hakase-labs.io,puppet
....

Después de eso, defina la configuración del servidor principal de la marioneta como se muestra a continuación.

[main]
certname = master.hakase-labs.io
server = master.hakase-labs.io
environment = production
runinterval = 1h

Guardar y cerrar.

Ahora agregue el servicio del servidor de marionetas al tiempo de arranque de inicio e inicie el servicio.

systemctl enable puppetserver
systemctl start puppetserver

El servidor de marionetas está funcionando en el servidor CentOS 8 con el puerto TCP predeterminado '8140'.

Agregue el puerto del servidor de marionetas '8140' al firewalld usando el siguiente comando.

firewall-cmd --add-port=8140/tcp --permanent
firewall-cmd --reload

Y como resultado, la instalación y configuración del maestro de marionetas se completó con éxito.

Paso 3:instalar y configurar Puppet Agent

Después de instalar el servidor maestro de Puppet 'master.hakase-labs.io', vamos a instalar un agente de títeres en el servidor 'agent01'.

Inicie sesión en el servidor 'agent01' e instale el paquete puppet-agent usando el comando dnf a continuación.

sudo dnf install puppet-agent

Después de eso, vaya al directorio '/etc/puppetlabs' y edite el archivo de configuración 'puppet.conf' usando el editor vim.

cd /etc/puppetlabs/
vim puppet/puppet.conf

Cambie la configuración de 'certname' y 'server' por la suya propia y péguela en la configuración.

[main]
certname = agent01.hakase-labs.io
server = master.hakase-labs.io
environment = production
runinterval = 1h

Guardar y cerrar.

A continuación, inicie el servicio de títeres y registre el agente de títeres en el servidor maestro con el siguiente comando.

/opt/puppetlabs/bin/puppet resource service puppet ensure=running enable=true

Y obtendrá el resultado como se muestra a continuación.

El agente de marionetas ya está funcionando, está intentando registrarse en el servidor maestro de marionetas.

Ahora regrese al servidor maestro de Puppet y verifique las solicitudes de certificados pendientes.

/opt/puppetlabs/bin/puppetserver ca list

Y obtendrá el certificado 'agent01.hakase-labs.io' en la lista.

Ahora firme el certificado 'agent01' usando el siguiente comando.

/opt/puppetlabs/bin/puppetserver ca sign --certname agent01.hakase-labs.io

Y el agente títere ahora se ha registrado en el servidor maestro.

Paso 4:verificar la configuración del agente de marionetas

Ahora verifique la configuración del agente de marionetas y pruebe la conexión entre el agente de marionetas y el maestro usando el siguiente comando.

/opt/puppetlabs/bin/puppet agent --test

Y obtendrá el resultado como se muestra a continuación.

Como resultado, el agente de Puppet extrajo la configuración de Puppet Master y la aplicó al servidor sin ningún error.

Paso 5:crear el primer manifiesto

En esta etapa, se ha completado la instalación y configuración de Puppet para maestro y agente.

Y para este paso, probaremos nuestra configuración creando el primer manifiesto de marionetas para instalar el paquete httpd.

Vaya al directorio '/etc/puppetlabs/code/environments/production/manifests' y cree el primer archivo de manifiesto de títeres 'httpd.pp'.

cd /etc/puppetlabs/code/
cd environments/production/manifests

vim httpd.pp

Pegue la siguiente configuración.

node 'agent01.hakase-labs.io' {
    package { 'httpd':
        ensure  => "installed",
    }
    service { 'httpd':
        ensure => running,
    enable => true
    }
}

Guardar y cerrar.

Ahora vaya al nodo del agente de Puppet 'agente01' y ejecute el siguiente comando.

/opt/puppetlabs/bin/puppet agent --test

Y se le mostrará el resultado de la siguiente manera.

El agente de Puppet extrajo una nueva configuración del maestro de Puppet para instalar el paquete httpd e iniciar el servicio httpd.

En el nodo 'agent01', verifique el estado del servicio httpd y verifique el puerto HTTP '80'

systemctl status httpd
netstat -plntu

Y obtendrá el servicio httpd funcionando en el servidor 'agent01' con el puerto HTTP predeterminado '80'. El paquete httpd se instaló a través del manifiesto de marionetas que creamos en la parte superior.

Y como resultado, la instalación y configuración del agente y maestro de Puppet en el servidor CentOS 8 se completó con éxito.


Cent OS
  1. Cómo configurar un servidor SFTP en CentOS

  2. Cómo instalar Puppet en CentOS 8 / RHEL 8

  3. Cómo instalar Puppet 6.x en CentOS 7 / RHEL 7

  4. Cómo configurar la replicación de MySQL en CentOS

  5. ¿Cómo configurar el servidor NTP en CentOS?

Cómo configurar Puppet Master y Agent en CentOS 7

Cómo configurar un servidor SVN en CentOS

Cómo instalar Puppet Server y Agent en Debian 11

Cómo instalar y configurar el servidor FTP en CentOS

Cómo configurar HAProxy en CentOS 8

Cómo instalar Puppet Server en CentOS 7