Monografias.com > Computación > Programación
Descargar Imprimir Comentar Ver trabajos relacionados

Gestión de configuraciones con cfengine




Enviado por Pablo Turmero



Partes: 1, 2

    Monografias.com

    Necesidad
    El estado de configuración de los sistemas tiende a la divergencia
    Los humanos tenemos no somos consistentes
    Eliminación de las tareas repetitivas
    Acelerar el tiempo de puesta a punto de un sistema nuevo
    A medida que la red crece y el número de sistemas y servicios aumenta, la administración manual se vuelve una pesadilla

    Monografias.com

    Qué es cfengine
    cf = configuración, engine = motor
    Consiste en:
    Un lenguaje de muy alto nivel para definir políticas de configuración
    Varias herramientas:
    cfagent – Un agente que ejecuta las políticas
    cfexecd – Un daemon que gestiona el agente
    cfservd – Un servidor de archivos y de acciones remotas
    cfrun – Ejecuta agentes externos
    Es una medicina contra la repetición

    Monografias.com

    Cfengine + Control de Versiones

    Monografias.com

    Distribución del Paquete

    bin/ Binarios
    inputs/ Configuración
    modules/ Extensiones
    outputs/ Mensajes
    ppkeys/ Claves privadas y públicas
    state/ Información del entorno

    Monografias.com

    Sintaxis
    La configuración consta de: acciones, condiciones y declaraciones:

    # comentarios
    acción:
    clase1::
    declaración
    declaración
    clase2|clase3::
    declaración

    Monografias.com

    Condiciones
    Las condiciones en cfengine se componen de clases (classes) o grupos (groups), con operadores lógicos:
    '.' o '&' equivale al 'AND' lógico
    '|' equivale al 'OR' lógico
    '!' equivale al 'NOT' lógico
    Los paréntesis sirven para modificar la precedencia
    !Hr00.(parche_disponible|Tuesday)
    (Verdadero si NO es medianoche Y hay un parche o es martes)

    Monografias.com

    Clases predeterminadas
    Por defecto, cfengine define una serie de clases asociadas a la máquina donde se ejecuta
    Verificar con cfagent -pv

    10_1_1 10_1_1_1 ipv4_10 ipv4_10_1 ipv4_10_1_1 ipv4_10_1_1_1
    192_168_1 192_168_1_1 ipv4_192 ipv4_192_168 ipv4_192_168_1 ipv4_192_168_1_1
    net_iface_eth0 net_iface_eth1 net_iface_lo
    host1 host1_example_com

    Monografias.com

    Clases definidas por el administrador
    classes:
    any::
    servidor_mx = ( servidor1 servidor2 servidor3 )
    servidor_mail = ( servidor4 servidor5 )
    cliente_cfengine = ( any )
    Definir bajo la acción classes

    Monografias.com

    Acción control
    Especifica qué debe hacer el agente y cómo
    Si no existe esta acción, nada ocurre!
    Define ciertas variables, configura valores por defecto y define el orden en que se han de ejecutar las acciones definidas en otras partes de la configuración
    La variable de control más importante es actionsequence

    Monografias.com

    Acción control
    control:

    site = ( walc )
    domain = ( localdomain )
    sysadm = ( walcadmin@localdomain )
    smtpserver = ( mail.localdomain )

    SplayTime = ( 1 )
    schedule = ( Min00_05 Min15_20 Min30_35 Min45_50 )

    actionsequence =
    (
    links.some
    mountall
    links.others
    files
    )

    Monografias.com

    Actionsequence
    Acciones permitidas en esta variable:
    actionsequence =
    (
    mountall # mount filesystems in fstab
    mountinfo # scan mounted filesystems
    checktimezone # check timezone
    netconfig # check net interface config
    resolve # check resolver setup
    unmount # unmount any filesystems
    packages # check for required packages
    shellcommands # execute shell commands
    editfiles # edit files
    addmounts # add new filesystems to system
    directories # make any directories
    links # check and maintain links (single and child)
    mailcheck # check mailserver
    mountall # (again)
    required # check required filesystems
    tidy # tidy files
    disable # disable files
    files # check file permissions
    copy # make a copy/image of a master file
    processes # signal / check processes
    module:name # execute a user-defined module
    )?

    Monografias.com

    Acciones
    copy:
    Copia archivos de un directorio a otro, o del servidor al cliente. Manipula permisos, chequea integridad, etc.
    El servidor debe estar ejecutando 'cfservd'
    El cliente debe ser admitido en la configuración del servidor
    Cliente y servidor deben tener la misma hora
    Cliente y servidor deben tener la clave pública del otro
    copy:

    any::

    $(cfmaster) dest=$(cfworkdir)
    r=inf mode=o-rw type=checksum server=$(policyhost)
    trustkey=true exclude=*~ exclude=#*

    Partes: 1, 2

    Página siguiente 

    Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

    Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

    Categorias
    Newsletter