ansible_role_rhel_patchmanagement

RHEL-Патчменеджмент

Патчменеджмент для серверов Red Hat Enterprise Linux.

Сценарий использования

В нашей среде мы разворачиваем серверы RHEL для наших отделов, чтобы они могли запускать свои приложения.

Эта роль была написана для обеспечения механизма установки рекомендаций Red Hat на целевых узлах один раз в месяц. Системный администратор может выбрать, какие рекомендации следует установить, например, RHSA, RHBA и/или RHEA.

В нашем особом случае устанавливаются только RHSA, чтобы гарантировать минимальный уровень безопасности. Установка осуществляется раз в месяц. Рекомендации обобщены в "Патч-наборах". Таким образом, обеспечивается использование одних и тех же рекомендаций на всех этапах в течение цикла обновлений.

В инвентаре Ansible узлы обобщены в одну из следующих групп, которые определяют, когда узел планируется на установку патчей:

  • [rhel-patch-phase1] - во второй вторник месяца
  • [rhel-patch-phase2] - в третий вторник месяца
  • [rhel-patch-phase3] - в четвертый вторник месяца
  • [rhel-patch-phase4] - в четверг в четвертую среду месяца

Если на целевых узлах были обновлены пакеты, то хосты будут перезагружены после этого.

Поскольку производственные системы являются наиболее важными, они разделены на две отдельные группы (phase3 и phase4), чтобы уменьшить риск сбоя и времени простоя службы из-за установки рекомендаций.

Конечно, вы можете выбрать, какие хосты поместить в какую фазу и в какой день вы хотите запустить цикл обновлений. Настройте роль под свои нужды.

Для запуска плейбука, который выполняет Патч-менеджмент в установленную дату, используется Bash-скрипт.

После настройки роли RHEL-Патчменеджмент работает в полностью автоматическом режиме. Пожалуйста, не стесняйтесь использовать трекер проблем, чтобы задавать вопросы о использовании роли или самой роли и сообщать о найденных ошибках.

Как получить информацию о рекомендациях?

Чтобы получить информацию о рекомендациях и создать патч-набор в vars/main.yml, вы должны запустить скрипт create_vars.sh.

Для получения дополнительной информации о рекомендациях вы можете подписаться на уведомления о рекомендациях Red Hat из клиентского портала или использовать команду yum updateinfo list all, чтобы получить информацию о рекомендациях.

Переменные роли

Переменные роли в vars/main.yml автоматически устанавливаются скриптом create_vars.sh, который запускается по расписанию cron.

Пример Плейбука

Вот пример того, как использовать вашу роль (например, с переменными, переданными как параметры):


  • hosts: all

    tasks:

    • name: Группировка по ОС group_by: key=os_{{ ansible_distribution }} changed_when: False
  • hosts: os_RedHat roles:

    • rhel_patchmanagement

Как использовать эту роль

Пожалуйста, имейте в виду, что следующий руководства предполагает работу с описанным выше сценарием использования. Возможно, вам придется настроить некоторые моменты, если у вас другой сценарий использования. Я предполагаю, что вы уже склонировали этот репозиторий или скачали все необходимые файлы. После этого вам нужно выполнить следующие шаги для работы RHEL-Патчменеджмента.

  1. Отредактируйте run_rhel_patch_mgmt.sh и вставьте ssh-приватный ключ, который используется для подключения к вашим узлам.
  2. Создайте задачу cron, которая будет запускать run_rhel_patch_mgmt.sh каждый вторник и среду в выбранное время. Скрипт будет запускать ansible плейбук в указанные выше времена. Вы можете настроить его по своему усмотрению.
  3. Возможно, вам нужно будет отредактировать patch_rhel.yml, чтобы он соответствовал вашим потребностям. По умолчанию этот плейбук работает на всех хостах вашего инвентаря, на которых установлена операционная система Red Hat и которые являются членами соответствующей группы rhel-patch-phaseX.
  4. Переименуйте variables.txt.example в variables.txt и отредактируйте файл соответственно для вашей среды.
  5. Отредактируйте create_vars.sh и задайте в source абсолютный путь к файлу variables.txt.
  6. Переименуйте variables.py.example в variables.py и отредактируйте файл, чтобы указать абсолютный путь к вашему инвентарному файлу ansible.
  7. По умолчанию create_vars.sh запускается в первый вторник месяца, чтобы создать новый файл vars/main.yml с текущим набором патчей и файл mail_text.txt.
  8. Вы можете использовать функцию send_mail, чтобы автоматически отправлять уведомления на указанный адрес электронной почты. Эта функция включена по умолчанию.
  9. Опционально: Вы можете использовать содержимое mail_text.txt, чтобы уведомить своих пользователей о том, какие рекомендации будут установлены.

Лицензия

MIT

Информация об авторе

  • Оригинал: Joerg Kastning <joerg(dot)kastning(at)uni-bielefeld(dot)de>
О проекте

Patchmanagement for Red Hat Enterprise Linux.

Установить
ansible-galaxy install Tronde/ansible-role-rhel-patchmanagement
Лицензия
mit
Загрузки
339
Владелец
This is my personal GitHub account. For more information on me, visit my blog and/or social accounts.