0Pricing
DevOps Bootcamp · Урок

Стратегии: linear, free и host_pinned

Меняйте порядок обхода узлов плейбуками

«Стратегии: linear, free и host_pinned» — бесплатный урок DevOps Bootcamp на CoddyKit. Это урок 2 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения DevOps Bootcamp, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс DevOps Bootcamp содержит 4 уроков всего.

Стратегия задаёт темп

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

linear — стратегия по умолчанию

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

- hosts: web
  strategy: linear

Почему linear может замедлять работу

При использовании linear самый медленный узел в каждой задаче задерживает всех остальных. Быстрые серверы простаивают, ожидая отстающий узел, прежде чем сценарий продолжится.

free позволяет узлам ускориться

Стратегия free устраняет это ограничение. Каждый узел проходит свои задачи настолько быстро, насколько может, и не ждёт, пока остальные его догонят.

- hosts: web
  strategy: free

free меняет порядок на скорость

При использовании free узлы завершают работу в разное время, а вывод перемешивается. Вы получаете скорость, но теряете аккуратную синхронизацию по задачам.

Когда free особенно полезна

Выбирайте free, когда узлы независимы и некоторые из них значительно медленнее. Не используйте её, если один узел должен завершить шаг до начала работы другого.

Знакомьтесь: host_pinned

Стратегия host_pinned закрепляет рабочий процесс за одним узлом до его завершения, вместо циклического распределения работы по всему парку.

- hosts: web
  strategy: host_pinned

Преимущества закрепления

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

Задайте для каждого сценария

Стратегия задаётся на уровне сценария, поэтому разные сценарии в одном файле могут использовать разные стратегии. Выбирайте наиболее подходящую для каждого этапа работы.

Или задайте значение по умолчанию

Выберите значение по умолчанию для всего проекта с помощью ключа strategy в ansible.cfg. Настройка для отдельного сценария всё равно имеет приоритет, если Вы её зададите.

[defaults]
strategy = free

Стратегия плюс параллельность

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

Быстрая проверка

Один узел в Вашей группе намного медленнее остальных и задерживает сценарий.

Итоги

linear поддерживает синхронное движение узлов, free позволяет им независимо ускоряться, а host_pinned полностью завершает работу с одним узлом до перехода к следующему. Выбирайте стратегию для каждого сценария. 🏁

Часто задаваемые вопросы

Урок «Стратегии: linear, free и host_pinned» бесплатный?

Да — полный текст урока «Стратегии: linear, free и host_pinned» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс DevOps Bootcamp, подпишись на CoddyKit PRO. Курс DevOps Bootcamp содержит 4 уроков всего.

Чему я научусь в уроке «Стратегии: linear, free и host_pinned»?

Меняйте порядок обхода узлов плейбуками Ты практикуешь DevOps Bootcamp с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать DevOps Bootcamp?

Предыдущий опыт не требуется. DevOps Bootcamp на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 2 из 4.

Сколько времени занимает урок «Стратегии: linear, free и host_pinned»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке DevOps Bootcamp?

Да. Каждый урок DevOps Bootcamp включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Настройка forks и параллелизма
  2. Стратегии: linear, free и host_pinned
  3. Конвейер SSH и повторное использование соединений
  4. serial и поэтапное пакетное выполнение
← Назад к DevOps Bootcamp