Найти тему
ИТ разнообразно

Управление выполнением задач в вашем плейбуке

Оглавление

В Ansible параметры конфигурации fork, serial, throttle и async контролируют параллелизм и конкурентность выполнения задач.

Fork

Он определяет максимальное количество параллельных соединений, которые Ansible будет использовать при выполнении задач. Увеличение значения fork позволяет распараллелить выполнение задач на нескольких хостах.

Например, установка параметра fork:

3 - означает, что Ansible будет выполнять задачи на трёх хостах одновременно, как показано ниже.

-2

Serial

Параметр serial в плейбуке Ansible позволяет вам контролировать количество целевых хостов, на которые направлены задачи во время выполнения плейбука. Это полезно в ситуациях, когда вы хотите ограничить скорость изменений или избежать перегрузки хостов.

Например, если установить параметр

serial: 3

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

-3

Throttle

Параметр throttle в плейбуке Ansible позволяет вам контролировать скорость выполнения задач. В следующем примере для Task 2 будет выполняться только одна машина за раз.

-4

Async

Параметр async в задаче Ansible позволяет запускать эту задачу асинхронно. Это означает, что Ansible начнёт выполнение задачи на конкретном наборе машин и сразу перейдёт к следующему набору машин, не ожидая завершения выполнения первого набора.

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

-5

Заканчивая эту статью, хочу задать вам вопрос: как бы вы построили свой плейбук, чтобы достичь сценария, при котором машина переходит к Task 2 сразу после завершения Task 1, в то время как другие машины всё ещё выполняют Task 1? Пожалуйста, оставьте комментарий, если у вас есть ответ.

Продолжение следует...

Перевод с некоторыми авторскими правками.

Автор оригинала: Sunish Surendran K.