Порядок выполнения плейбуков Ansible обычно последовательный: задачи выполняются в том порядке, в котором они определены. Однако важно отметить, что Ansible спроектирован для работы декларативным образом, а это означает, что порядок задач не всегда строго соблюдается. Ansible определяет наиболее эффективный способ выполнения задач на основе таких факторов, как зависимости задач, параллелизм и оптимизация скорости.
Вот несколько ключевых моментов, которые нужно понять о порядке выполнения плейбуков Ansible:
-
Проигрывания. Книги воспроизведения Ansible состоят из одного или нескольких воспроизведений, и пьесы выполняются в том порядке, в котором они появляются в книге воспроизведения. Каждая игра содержит набор задач, которые необходимо выполнить на определенном наборе хостов.
-
Задачи. Задачи в игре выполняются в том порядке, в котором они определены. По умолчанию Ansible выполняет задачи одну за другой, двигаясь сверху вниз.
-
Блоки задач: Ansible позволяет группировать задачи в блоки, например
блокировать,спасениеивсегда. Внутри блока задачи выполняются в порядке, указанном в этом блоке. -
Управление задачами. Ansible предоставляет различные ключевые слова для управления задачами, которые могут влиять на порядок выполнения. Например,
serialпозволяет определить количество хостов, которые могут обрабатываться одновременно, аwhenпозволяет условно выполнять задачи на основе определенных условий. -
Роли. Роли — это многоразовые и общие единицы сборников сценариев. При использовании ролей Ansible выполняет задачи, определенные в роли, и порядок выполнения соответствует тем же правилам, которые указаны выше.
Стоит отметить, что хотя Ansible пытается поддерживать порядок выполнения, определенный в сборнике сценариев, он также оптимизирует выполнение для повышения эффективности. Это означает, что определенные задачи могут выполняться параллельно или в другом порядке, если это повышает производительность.