Descargar

Gestión de configuraciones con cfengine (página 2)

Enviado por Pablo Turmero


Partes: 1, 2
edu.red

Acciones editfiles Provee múltiples comandos para editar archivos: AppendIfNoSuchLine, LocateLineMatching, RepaceWith, etc. Ejemplo:

editfiles: redhat:: { /etc/sysconfig/rhn/up2date LocateLineMatching '^forceInstall=[1-9]' ReplaceLineWith 'forceInstall=0' DefineClasses 'up2date_forceinstall' }

edu.red

Acciones processes Manipula procesos. Puede enviar señales (kill, hup, etc), reiniciar, definir clases, etc. processes:

ntp_conf_modified:: "ntpd" signal=kill restart "/etc/init.d/ntpd restart"

edu.red

Acciones tidy: Borra archivos del sistema que no son necesarios, por ejemplo archivos temporales, etc. disable: Renombra archivos que no son necesarios, pero que no se quiere borrar necesariamente. directories: Crea directorios links: Crea enlaces shellcommands: Permite ejecutar scripts packages: Instala software empaquetado por la distribución (se puede definir el empaquetador)

edu.red

Instalación (en breve) Definir una máquina que funcionará como servidor (policyhost) Poner todas las configuraciones en un directorio maestro Ej. /var/lib/cfengine2/master/ Configurar el servidor en /var/lib/cfengine2/inputs/cfservd.conf Ejecutar cfservd

edu.red

Configuración del Agente En Ubuntu: /var/lib/cfengine2/inputs Dos etapas: update.conf: Copia todos los demás archivos de configuración desde el servidor Configuración muy simple y estática cfagent.conf: Controla toda la funcionalidad del agente cfengine Se puede separar en varios archivos, usando import

edu.red

Instalación (en breve) Crear un update.conf básico que copie las configuraciones en /var/lib/cfengine2/inputs Crear un cfagent.conf definiendo las políticas Instalar cfengine en las máquinas cliente Copiar la clave pública del cliente en el servidor /var/lib/cfengine2/ppkeys (localhost.pub ? root-192.168.1.10.pub) Copiar la clave pública del servidor en el cliente (o utilizar trustkey=true) Copiar el archivo update.conf en /var/lib/cfengine2/inputs Ejecutar cfexecd (/etc/init.d/cfexecd start)

edu.red

Pruebas Ejecutar cfservd en modo debug cfservd -d2 Ejecutar cfagent directamente cfagent -Kqv Definir una clase de prueba que restrinja el dominio de acción

testhosts = ( host1 )

testhosts:: < acciones nuevas>

edu.red

Más pruebas Probar las configuraciones de servicios antes de instalarlos Indispensable para servicios al público (Apache, Sendmail, Bind, etc)? Se logra haciendo las copias en dos etapas Etapa1: Copiar del servidor al cliente en un directorio temporal Ejecutar un script que chequee el archivo de configuración Etapa2: Si la prueba es satisfactoria, copiar el archivo en el lugar definitivo Reiniciar el servicio

edu.red

Control de versiones El directorio maestro en el servidor debería mantenerse bajo un sistema de control de versiones (ej. Subversion) Sólo deben guardarse los cambios una vez se hayan probado

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente