Создание фабрики пользовательских образов в Azure DevTest Labs

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

Что такое фабрика образов?

Фабрика образов — это решение, базирующееся на подходе «Конфигурация как код», на основе всех требуемых конфигураций фабрика образов регулярно создает и распространяет образы в автоматическом режиме. Образы в фабрике образов всегда обновляются, как только процесс становится полностью автоматическим, необходимость в текущем обслуживании становится практически равной нулю. И так как все необходимые конфигурации уже находятся в образе, экономится время на ручной настройке системы после создания виртуальной машины с базовой ОС.

Использование пользовательских образов является значительным ускорителем для подготовки рабочего стола разработчика к состоянию готовности в DevTest Labs. Недостаток пользовательских образов заключается в том, что в лаборатории всегда есть что-то, что необходимо сделать дополнительно для ее поддержки. Например, срок действия пробных версий продуктов истекает через какое-то время (или) не были применены недавно выпущенные обновления системы безопасности, что заставляет периодически обновлять пользовательский образ. Имея фабрику образов, вы имеете в распоряжении определение образа, зарегистрированного в блоке управления исходным кодом, и автоматический процесс создания пользовательских образов на основе этого определения.

Решение позволяет ускорить создание виртуальных машин на основе пользовательских образов, исключая при этом дополнительные текущие затраты на обслуживание. С помощью этого решения можно автоматически создавать пользовательские образы, распространять их в другие DevTest Labs и снимать с работы старые образы. Все скрипты Azure PowerShell находятся в свободном доступе здесь: https://aka.ms/dtlimagefactory.


Общий обзор решения

Решение позволяет ускорить создание виртуальных машин на основе пользовательских образов, исключая при этом дополнительные текущие затраты на обслуживание. С помощью этого решения можно автоматически создавать пользовательские образы и распространять их в другие DevTest Labs. Вы используете Azure DevOps (ранее Visual Studio Team Services) в качестве обработчика оркестрации для автоматизации всех операций в DevTest Labs.

High-level view of the solution.

Для DevTest Labs имеется расширение VSTS Extension for DevTest Labs, которое позволяет выполнять следующие действия:

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

Использование расширения — это простой способ начать работу с автоматическим созданием пользовательских образов в DevTest Labs.

Существует альтернативный вариант реализации решения, с использованием скрипта PowerShell — для более сложного сценария. PowerShell позволяет полностью автоматизировать фабрику образов на основе DevTest Labs, что можно использовать для создания рабочей цепочки непрерывной интеграции и непрерывной поставки (CI/CD). Ниже приведены принципы, на которых базируется данное альтернативное решение.

  • Для общих обновлений не требуется вносить изменения в фабрику образов (например, добавление нового типа пользовательского образа, автоматическое удаление старых образов, добавление новой конечной точки DevTest Labs для получения пользовательских образов и т. д.).
  • Общие изменения поддерживаются в блоке управления исходным кодом (инфраструктура как код).
  • Лаборатории DevTest Labs, получающие пользовательские образы, могут не входить в одну подписку Azure (подписки лабораторий по диапазонам).
  • Скрипты PowerShell должны быть повторно используемыми, чтобы при необходимости можно было ввести дополнительные фабрики.

Следующие шаги

Перейдите к следующей статье в этом разделе: Запуск фабрики образов из Azure DevOps.