Как донакатить ansible-playbook на сервер, который был выключен? Представим такой сценарий. У нас 1000 серверов. На всех нужно обновить версию Nginx (допустим security bugfix). Но у нас один из серверов сейчас выключен, т.к. у него сгорел блок питания. Обновляем версию nginx в ansible playbook и запускаем его на всех серверах. Да, мы предварительно все оттестировали на тестовом окружении. Соответственно nginx обновится на 999 серверах, а на одном нет (он выключен). Блок питания починили, сервер включается и, ВОТ ТУТ ВАЖНО, на нем старый необновленный nginx. Это хорошо, что я помню, что на нем не обновлен nginx. Я после включения могу снова проиграть playbook. НО это же делается руками. А что если у меня из 1000 было выключено 10 и они включаеются в разное время разными сотрудниками? Я хочу автоматику! Суть вопроса вот в чем: как при старте сервера автоматически проиграть на нем последний актуальный playbook и только после этого уже пустить его в строй? Например, у нас в ha-proxy настроен healt check и если нода недоступна, то запросы на нее не шлются. А если доступна, то запросы на нее идут. В примере выше с точки зрения ha-proxy ожившая нода вполне в порядке. На запросы отвечает штатно. Только вот версия nginx там дырявый. К nginx просьба не цепляться. Обновлено могло быть совершенно любое ПО или библиотека. Это сути вопроса не меняет. Кто как решает описанную выше проблему? Или может быть у меня в целом подход неверный? Если да, то подскажите в какую сторону смотреть?
Для решения описанной проблемы рекомендуется использовать так называемый "push" режим управления серверами Ansible. В этом режиме агент Ansible устанавливается на серверы, которые нужно управлять, и он самостоятельно опрашивает сервер Ansible для получения инструкций.
Таким образом, когда сервер, который был выключен, включается, агент Ansible на нем автоматически обратится к серверу Ansible для получения последнего актуального playbook и выполнит его. Это позволит автоматизировать процесс обновления на выключенных серверах без необходимости ручного запуска playbook.
Для этого необходимо настроить push-управление в Ansible, установить агенты Ansible на сервера и настроить их взаимодействие с сервером Ansible. Таким образом, при включении ранее выключенных серверов, они автоматически получат необходимые обновления и будут готовы к работе.
Такой подход позволит автоматизировать процесс обновления серверов и обеспечить их актуальность даже при выключенном состоянии.
Для решения описанной проблемы рекомендуется использовать так называемый "push" режим управления серверами Ansible. В этом режиме агент Ansible устанавливается на серверы, которые нужно управлять, и он самостоятельно опрашивает сервер Ansible для получения инструкций.
Таким образом, когда сервер, который был выключен, включается, агент Ansible на нем автоматически обратится к серверу Ansible для получения последнего актуального playbook и выполнит его. Это позволит автоматизировать процесс обновления на выключенных серверах без необходимости ручного запуска playbook.
Для этого необходимо настроить push-управление в Ansible, установить агенты Ansible на сервера и настроить их взаимодействие с сервером Ansible. Таким образом, при включении ранее выключенных серверов, они автоматически получат необходимые обновления и будут готовы к работе.
Такой подход позволит автоматизировать процесс обновления серверов и обеспечить их актуальность даже при выключенном состоянии.