Configuración del cliente con template
Ahora ya dispone de un cliente en el entorno (realmente dos si tiene en cuenta el propio servidor). Por lo que llega el momento de usar código para configurar las opciones que quiera que esten en la máquina cliente.
Volviendo a revisar el fichero /etc/puppetlabs/code/environments/production/hiera.yaml
encuentra que el parámetro datadir contiene la ruta relativa a donde reside el fichero hiera.yaml. Tal y como indica, se encuentra a la misma altura.
cd /etc/puppetlabs/code/environments/production/data
Y tal y como se ha indicado en el fichero hiera.yaml los ficheros de los nodos residiran en una carpeta interna llamada nodes
. Por defecto no existe, por lo que hay que crearla. Lo mismo sucede para los templates de sistema operativo (osfamily
).
mkdir -p /etc/puppetlabs/code/environments/production/data/{nodes,osfamily}
Cree el fichero para el nodo llamado puppet-client con
nano /etc/puppetlabs/code/environments/production/data/nodes/puppet-client.yaml
Y añada el siguiente contenido de ejemplo, que instalará y configurará el agente Zabbix
---
classes:
- zabbix_agent2
zabbix_agent2::zabbix_version: '6.2'
zabbix_agent2::repo_manage: true
zabbix_agent2::package_manage: true
zabbix_agent2::package_ensure: present
zabbix_agent2::package_name: ['zabbix-agent2']
zabbix_agent2::service_enable: true
zabbix_agent2::service_ensure: 'running'
zabbix_agent2::service_manage: true
zabbix_agent2::service_name: 'zabbix-agent2'
zabbix_agent2::service_provider: ~
zabbix_agent2::service_hasstatus: true
zabbix_agent2::service_hasrestart: true
zabbix_agent2::config:
PidFile: '/run/zabbix/zabbix_agent2.pid'
LogFile: '/var/log/zabbix/zabbix_agent2.log'
LogFileSize: 0
Server: '192.168.0.24'
ServerActive: '192.168.0.24'
Hostname: "%{::hostname}"
Include: '/etc/zabbix/zabbix_agent2.d/*.conf'
ControlSocket: '/tmp/agent.sock'