Tronde.ansible_role_rhel_patchmanagement

Gestión de Parches en RHEL

Gestión de parches para Red Hat Enterprise Linux Server.

Caso de Uso

En nuestro entorno, implementamos servidores RHEL para que nuestros departamentos ejecuten sus aplicaciones.

Este rol fue creado para proporcionar un mecanismo que instale los avisos de Red Hat en los nodos de destino una vez al mes. El sysadmin puede elegir qué avisos se deben instalar, por ejemplo, RHSA, RHBA y/o RHEA.

En nuestro caso específico, solo se instalan los RHSA para garantizar un límite mínimo de seguridad. La instalación se realiza obligatoriamente una vez al mes. Los avisos se resumen en "Conjuntos de Parches". De esta manera, se asegura que se usen los mismos avisos en todas las etapas durante un ciclo de parches.

En el inventario de Ansible, los nodos se agrupan en una de las siguientes categorías que definen cuándo está programado un nodo para la instalación de parches:

  • [rhel-patch-phase1] - el segundo martes de un mes
  • [rhel-patch-phase2] - el tercer martes de un mes
  • [rhel-patch-phase3] - el cuarto martes de un mes
  • [rhel-patch-phase4] - el cuarto miércoles de un mes

Si se actualizan paquetes en los nodos de destino, los hosts se reiniciarán después.

Debido a que los sistemas de producción son los más importantes, se dividen en dos grupos separados (fase3 y fase4) para reducir el riesgo de fallos y tiempo de inactividad del servicio debido a la instalación de avisos.

Por supuesto, puedes elegir qué hosts colocar en qué fase y el día que desees ejecutar un ciclo de parches. Siéntete libre de ajustar el rol a tus necesidades.

Se utiliza un script de Bash para activar el playbook que ejecuta la gestión de parches en la fecha establecida.

Una vez que el rol está configurado, la gestión de parches de RHEL se ejecuta de forma completamente automática. No dudes en usar el rastreador de problemas para hacer preguntas sobre el uso del rol o sobre el propio rol y reportar cualquier error que puedas encontrar.

¿Cómo obtener la información de los avisos?

Para recuperar la información de avisos y crear un conjunto de parches en vars/main.yml, debes ejecutar el script create_vars.sh.

Para obtener más información sobre los avisos, puedes suscribirte a las Notificaciones de Avisos de Red Hat desde el Portal del Cliente o usar el comando yum updateinfo list all para obtener la información de los avisos.

Variables del Rol

Las variables del rol en vars/main.yml se configuran automáticamente mediante el script create_vars.sh, que se activa por cron.

Ejemplo de Playbook

Incluir un ejemplo de cómo usar tu rol (por ejemplo, con variables pasadas como parámetros) también es útil para los usuarios:


  • hosts: all

    tasks:

    • name: Agrupar por SO group_by: key=os_{{ ansible_distribution }} changed_when: False
  • hosts: os_RedHat roles:

    • rhel_patchmanagement

Cómo usar este rol

Ten en cuenta que el siguiente tutorial se considera que funciona con el caso de uso descrito arriba. Tal vez tengas que ajustar algunas cosas si tienes un caso de uso diferente. Supongo que ya has clonado este repositorio o descargado todos los archivos necesarios. Después de eso, debes seguir los siguientes pasos para hacer que la gestión de parches de RHEL funcione.

  1. Edita run_rhel_patch_mgmt.sh e inserta la clave privada ssh que se usará para conectarte a tus nodos.
  2. Crea un cronjob que ejecute run_rhel_patch_mgmt.sh cada martes y miércoles a la hora que elijas. El script activará el playbook de ansible en los momentos mencionados en el caso de uso anterior. Puedes ajustarlo a tus necesidades.
  3. Tal vez debas editar patch_rhel.yml para que se ajuste a tus necesidades. Por defecto, este playbook se ejecuta en todos los hosts de tu inventario que tengan un sistema operativo Red Hat instalado y que sean miembros del grupo correspondiente rhel-patch-phaseX.
  4. Renombra variables.txt.example a variables.txt y edita el archivo según sea necesario para adaptarlo a tu entorno.
  5. Edita create_vars.sh y establece la ruta absoluta para el archivo variables.txt.
  6. Renombra variables.py.example a variables.py y edita el archivo para especificar la ruta absoluta a tu archivo de inventario de ansible.
  7. Por defecto, create_vars.sh se ejecuta el primer martes del mes para crear un nuevo archivo vars/main.yml con un conjunto de parches actual y el archivo mail_text.txt.
  8. Puedes utilizar la función send_mail para enviar una notificación automáticamente a una dirección de correo electrónico especificada. Esta función está habilitada por defecto.
  9. Opcional: Puedes usar el contenido de mail_text.txt para notificar a tus usuarios qué avisos se van a instalar.

Licencia

MIT

Información del Autor

  • Original: Joerg Kastning <joerg(dot)kastning(at)uni-bielefeld(dot)de>
Acerca del proyecto

Patchmanagement for Red Hat Enterprise Linux.

Instalar
ansible-galaxy install Tronde.ansible_role_rhel_patchmanagement
Licencia
mit
Descargas
350
Propietario
This is my personal GitHub account. For more information on me, visit my blog and/or social accounts.