Рейтинг:0

Ansible playbook с дополнительными проверками

флаг us

Я пытаюсь автоматизировать наши патчи и наткнулся на Ansible.

я провел модуль win_update и это можно использовать для 80% наших серверов, но у других есть процедура перезагрузки.

Некоторые группы наших серверов необходимо обновить/перезагрузить по порядку, включая некоторые сервисы. Возможно ли это с Ansible?

Сценарий может быть:

  • Сервер A-B-C должен быть отключен
  • Обновление сервера D, перезагрузка, запуск ручного обслуживания A-B-C
  • Обновление сервера C, перезагрузка, запуск ручного обслуживания A - B
  • ...
флаг cn
Да, вы хотите просмотреть группы хостов в своем плейбуке.
флаг cn
На самом деле для перезагрузки может потребоваться некоторая хитрость, но это, вероятно, достижимо. Может потребоваться 2 запуска playbook.
Рейтинг:1
флаг cn

Да, вы можете записывать последовательные обновления с дополнительными задачами в игры Ansible.

Поведение, характерное для группы, может исходить из group_vars, или дополнительные воспроизведения выполняются только для определенных групп.


---
# плейбук
- название: Предварительное обновление ОС
  хозяева: А,В,С
  
  роли:
  # отключить сервисы или другие подготовительные шаги
  - update_pre
    
- название: Обновление и перезагрузка
  хозяева: А,В,С,D 
  заказ: инвентарь
  # Последовательные обновления: играйте до завершения по одному хосту за раз
  сериал: 1 

  роли:
  - update_servers

# Роли позволяют повторное использование: разные хосты, но те же задачи
# Переместить группы в свою собственную игру в желаемом порядке
# или для другой последовательности задач
- название: Обновление и перезагрузка специальной группы E
  хозяева: Э
  
  роли:
  - update_pre
  - update_servers
  - update_post
...


---
# роли/update_servers/tasks/main.yml

- win_updates:
    категории_названия: '*' 
    # задача win_reboot, вероятно, не требуется
    перезагрузка: да
    
# Если это не служба Windows, добавьте сюда другие задачи
# или в последующих ролях 
- имя: Отказ службы обновлений после публикации
  win_service:
    имя: "{{ элемент }}"
    состояние: перезапущен
  цикл: "{{ update_restart_services | по умолчанию ([]) }}"
...
 
---
 # group_vars/C.yml
 update_restart_services:
 - альфа
 - бета
...
---
 # group_vars/D.yml
 update_restart_services:
 - альфа
 - бета
 - гамма
...

Ответить или комментировать

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