Стратегии#
Расширения стратегии определяют, как Ansible координирует выполнение задач на множестве целевых узлов в рамках одного набора сценариев. Выбор стратегии позволяет управлять балансом между предсказуемостью, скоростью выполнения и устойчивостью сценария к сбоям.
Каждая стратегия определяет:
как задачи распределяются между узлами;
как обрабатываются ошибки на отдельных узлах;
может ли узел перейти к следующей задаче до завершения текущей на других узлах;
продолжится ли выполнение, если одна или несколько задач завершились с ошибкой.
По умолчанию используется стратегия linear: все узлы получают одну и ту же задачу, и каждый узел должен ее завершить, прежде чем будет выполнена следующая.
Стратегию можно задать:
на уровне сценария через директиву
strategy:--- - name: Запуск задач с параллельным выполнением hosts: all strategy: free tasks: - name: Проверка доступности ansible.builtin.ping:
Примечание
В одном сценарии может использоваться только одна стратегия, но в рамках одного набора сценариев допускается использовать разные стратегии для разных сценариев.
в конфигурационном файле
ansible.cfgчерез параметрstrategy:[defaults] strategy = free
через переменную окружения
ANSIBLE_STRATEGY:export ANSIBLE_STRATEGY=free
Подробности о каждой из стратегий см. в справочнике.