Поделиться через


Настройка масштабирования

Внимание

Управляемые пулы DevOps в настоящее время находятся в предварительной версии. Юридические условия, применимые к функциям Azure, которые находятся в состоянии бета-версии, предварительной версии или иным образом еще не выпущены в общедоступной версии, см. на странице Дополнительные условия использования предварительных версий в Microsoft Azure.

Настройте параметры масштабирования для управления производительностью и затратами управляемого пула DevOps. Сведения о ценах и производительности см. в статье "Управление затратами и производительностью".

Состояние агента

Управляемые пулы DevOps можно настроить как без отслеживания состояния или состояние.

  • Пулы без отслеживания состояния— предоставьте новый агент для каждого задания.
  • Пулы с отслеживанием состояния — разрешить совместное использование агентов между несколькими заданиями.

Параметр по умолчанию для управляемого пула DevOps является бессерверным (свежий агент каждый раз), но в некоторых случаях командам может потребоваться повторно использовать агенты для повторного использования пакетов или файлов, созданных во время предыдущего запуска конвейера. Рабочая нагрузка сборки — это распространенный сценарий, в котором команды хотят сохранить состояние и повторно использовать агенты. Пулы с отслеживанием состояния можно достичь с помощью управляемых пулов DevOps при его балансировке с помощью рекомендаций по обеспечению безопасности. По умолчанию агент можно повторно использовать в течение не более 7 дней, но его можно настроить раньше.

Примечание.

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

Пулы без отслеживания состояния

При настройке агента без отслеживания состояния новый агент приобретается для каждого задания и удаляется после завершения задания.

Снимок экрана: агент без отслеживания состояния.

Когда состояние агента устанавливается на fresh agent каждый раз, новый агент приобретается для каждого задания и удаляется после завершения задания.

Пулы с отслеживанием состояния

Снимок экрана: агент с отслеживанием состояния.

Если один и тот же агент может использоваться несколькими сборками ("kind": "stateful"в шаблонах ресурсов или { "stateful": {...} } в Azure CLI), агенты в пуле считаются отслеживанием состояния. Пулы с отслеживанием состояния настраиваются с помощью следующих параметров.

  • Максимальное время жизни для резервных агентов (maxAgetLifetime) настраивает максимальную продолжительность выполнения агента в пуле с отслеживанием состояния до завершения работы и отмены. Формат максимальной продолжительности жизни для резервных агентовdd.hh:mm:ss. Значение по умолчанию максимального времени для жизни для резервных агентов имеет максимальный допустимый срок в семь дней (7.00:00:00).

  • Льготный период (gracePeriodTimeSpan) настраивает время, когда агент в пуле с отслеживанием состояния ожидает новых заданий, прежде чем завершить работу после завершения всех текущих и очередных заданий. Формат льготных периодов, dd.hh:mm:ss а по умолчанию — не льготный период.

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

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

Выполнение агентов в пулах с отслеживанием состояния завершается и удаляется, если они выполняются непрерывно в течение длительного времени, указанного максимальным временем жизни для резервных агентов, даже если предыдущие условия верны. Например, если для резервных агентов настроено максимальное время жизни в течение трех дней, а режим резервного агентавручную, all Week Scheme (компьютеры доступны 24/7), агенты перезапускаются после трех непрерывных дней простоя.

Внимание

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

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

Режим резервного агента

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

  • Отключен — режим резервного агента отключен, а агенты подготавливаются по запросу при очередях заданий.
  • Вручную . Настройка расписания ожидания вручную.
  • Автоматически . Используйте автоматическое расписание ожидания на основе журнала использования агента и настраиваемого для затрат и производительности.

Снимок экрана: выбор режима резервного агента.

Руководство

Режим вручную лучше подходит для команд, имеющих знания о шаблонах использования конвейеров CI/CD. Если выбрать вариант вручную, необходимо определить схему предварительной подготовки на основе понимания того, когда агенты в пуле, скорее всего, будут использоваться и сколько агентов, скорее всего, будут использоваться, и укажите количество агентов подготовки, удовлетворяющих прогнозируемым требованиям.

Вы можете создать собственное расписание подготовки или выбрать один из предопределенных расписаний, и вы можете настроить часовой пояс для указания расписаний. Значением по умолчанию для часового пояса предварительной подготовки является (UTC) универсальное время.

Совет

Количество подготовки в схеме не может быть больше, чем агенты Maximim, настроенные в параметрах пула.

Каждые несколько минут Управляемые пулы DevOps проверяют количество активных агентов, выполняющих задания и резервные агенты, ожидающие заданий, чтобы обеспечить доступность количества агентов подготовки, указанных текущей схемой подготовки. Если текущее число подготовки равно 10, и есть пять агентов, выполняющих задания и два агента в режиме ожидания, Управляемые пулы DevOps будут запускать три дополнительных резервных агента, чтобы привести общее число агентов до 10.

Конфигурацию резервного агента вручную можно настроить одним из следующих трех способов.

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

  • Предварительная подготовка Часовой пояс позволяет настроить часовой пояс для времени в схеме предварительной подготовки. Значением по умолчанию для часового пояса предварительной подготовки является (UTC) универсальное время.
  • Процент резервного агента настраивает процент резервных агентов, которые требуется для каждого образа. * Чтобы убедиться, что все изображения подготовлены одинаково, можно указать целое число от 0 до 100, чтобы представить процент. Если указать процент, общее значение для всех изображений должно быть равно 100. Если у вас есть один образ, укажите * или 100. Процент резервного images агента настраивается в разделе при использовании шаблонов ARM. Дополнительные сведения см. в разделе "Настройка образов".

Снимок экрана: режим ожидания вручную.

Начало с нуля

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

Свойство Description
Планирование на несколько дней При проверке можно настроить как день начала, так и день окончания для схемы подготовки.
До следующего периода При проверке период подготовки выполняется с момента начала до начала следующего периода подготовки.
День начала День начала периода подготовки.
Конечный день День окончания периода подготовки. Требуется, если проверяется многодневное время.
Время начала Время начала периода подготовки.
Время завершения Время окончания периода подготовки. Требуется, если не будет проверен следующий период .
Count Количество резервных агентов для подготовки. Это число должно быть больше нуля и не должно быть больше значения максимальных агентов , настроенных в параметрах пула.

После создания периода подготовки можно удалить или изменить период из списка схем предварительной подготовки.

В следующем примере настраивается схема вручную с 1 агентом, подготовленным в понедельник утром с 12:00 до 5:00 AM EST.

Снимок экрана: схема масштабирования вручную.

Схема еженедельного дня

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

Свойство Description
Время начала Время начала периода подготовки.
Время завершения Время окончания периода подготовки.
Число подготовки Количество резервных агентов для подготовки. Это число должно быть больше нуля и не должно быть больше значения максимальных агентов , настроенных в параметрах пула.

В следующем примере четыре агента будут использоваться в рабочее время с 0 агентами в нерабочие и выходные дни с использованием восточного стандартного времени.

Снимок экрана: схема дня недели.

Схема всей недели

Если выбрать схему всей недели, можно указать ряд агентов, доступных 24/7.

Снимок экрана: схема всей недели.

Автоматически

Если вы не знаете шаблоны использования и хотите полагаться на автоматическое прогнозирование на основе прошлых данных, выберите "Автоматически". Вы можете сбалансировать производительность затрат и агентов с помощью ползунка со следующими пятью вариантами. Управляемые пулы DevOps выполняют запрос за последние три недели исторических данных (если это доступно), упорядочивая сеансы пула в очереди в пять минут и назначает указанный процентиль (чтобы избежать пиков) каждому часу.

  • Большинство экономически эффективных (MostCostEffective) - 10-й процентиль
  • Более экономичное (MoreCostEffective) - 25-й процентиль
  • Balanced (по умолчанию) (Balanced) — 50-й процентиль
  • Больше производительности (MorePerformance) — 75-й процентиль
  • Оптимальная производительность (BestPerformance) — 90-й процентиль

Вы можете просмотреть прогнозируемые и фактические показатели использования для любого определенного дня в течение последней недели или семидневного среднего.

Снимок экрана: параметр автоматического масштабирования.

См. также