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.
- Edita
run_rhel_patch_mgmt.sh
e inserta la clave privada ssh que se usará para conectarte a tus nodos. - 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. - 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. - Renombra variables.txt.example a variables.txt y edita el archivo según sea necesario para adaptarlo a tu entorno.
- Edita
create_vars.sh
y establece la ruta absoluta para el archivo variables.txt. - Renombra variables.py.example a variables.py y edita el archivo para especificar la ruta absoluta a tu archivo de inventario de ansible.
- Por defecto,
create_vars.sh
se ejecuta el primer martes del mes para crear un nuevo archivovars/main.yml
con un conjunto de parches actual y el archivomail_text.txt
. - 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. - 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>
ansible-galaxy install Tronde.ansible_role_rhel_patchmanagement