En esta entrada vamos a ver cómo automatizar con Ansible información básica de servidores como la gestión de usuarios, grupos, etc (ver tabla 1). Todas estas tareas, en nuestro ejemplo, se realiza con el playbook common. common.yml se encarga de realizar la configuración básica de todos los servidores (excepto los que aparezcan en el grupo nocommon) de manera centralizada y, además, de poder realizar estos cambios de una sóla vez (en lugar de realizarlo para cada servidor, aunque también es posible modificar sólo un servidor o un grupo, con el parámetro –limit nombreServidor o nombreGrupo). De las tareas a realizar se encargan los ficheros de la tabla 1.

    Tarea Descripción
    manager.yml Gestión del usuario manager. Comprueba su existencia y lo crea y añade a grupos específicos (variable managerGroups), si es necesario.
    group.yml Gestión de grupos. Añade grupos de trabajo y los configura con los usuarios de la variable groupRoot
    repos.yml Gestión de los repositorios Con reposUpdate=y añadirá los repos necesarios para el sistema
    dselect.yml Instalación de dselect (en debian)
    concurrency.yml Asignación de concurrency=NONE (en debian)
    services.yml  Parada de servicios no requeridos indicados por la variable stopServices
    resolv.yml Gestión del cliente DNS /etc/resolv.conf para añadir el valor de domain, search y nameserver, usando respectivamente, las variables domain, search y nameservers.
    nscd.yml Instalación y configuración del servicio NSCD
    securetty.yml Gestión de los permisos de acceso /etc/securetty a partir del fichero estático files/etc/securetty
    locales.yml Gestión de las locales. Configura el fichero apropiado a cada distribución a partir de ficheros estáticos situados dentro de files/etc
    profile.yml Gestión del profile general /etc/profile según la variable profileEtc
    nvi.yml Instalación de nvi y configuración por defecto como vi
    utils.yml Instalación de software adicional
    pam-ldap.yml Instalación y configuración de las PAM con LDAP a partir de templates situados en el directorio templates/etc/ y las variables ldapA, ldapB y ldapC que indican 3 servidores LDAP diferentes
    syslog.yml Configuración del envío de logs a servidores remotos utilizando la variable syslog
    sshd.yml Configuración del servicio sshd usando la variable sshdConfig y sus atributos: permitRootLogin, clienteAliveInterval, clientAliveCountMax, matchGroup, logLvel y subsystemSftp.
    ntp.yml Instalación y configuración del servicio NTP
    muni-node.yml Instalación y configuración del cliente Munin-Node utilizando la variable muninMaster para indicar la lista de IPs de los servidores maestros de Munin.
    nrpe.yml  Instalación y configuración del cliente Nagios-NRPE, configurando /etc/hosts.allow a partir de la variable nagiosMaster
    bacula-df.yml  Instalación y configuración del cliente Bacula-FD a partir del template templates/etc/bacula/bacula.conf.XX.j2 y /etc/hosts.allow a partir de la variable baculaMaster
    ossec.yml  Instalación y configuración del cliente Ossec utilizando la variable ossecMaster y el template templates/var/ossec/etc/ossec.conf.XX.j2

    Tabla 1.- Lista de tareas del playbook common

    Los cambios se realizan modificando las variables apropiadas que, a través de las tareas correspondientes, terminarán realizando las operaciones necesarias para cumplir su función. Las variables para todas las tareas se declaran principalmente en el fichero general group_vars/all, aunque se pueden sobreescribir los valores en los ficheros de grupo o de host, según las necesidades específicas de cada servidor. Así mismo, si las variables dependen de la distribución, pueden estar declaradas en los ficheros específicos de cada distribución y versión.

    ¡Esperamos que os sea útil!

    Be Sociable, Share!
    Una Respuesta a “Configuración básica de servidores con Ansible”
    1.  
    Deja una Respuesta

    Debes estar identificado para dejar un comentario. Identifícate »