Настройка политики хранения в Azure DevTest Labs
Эта статья содержит сведения о настройке политики хранения, очистке фабрики и прекращении использования старых образов из всех остальных DevTest Labs в организации.
Предварительные требования
Прежде чем продолжить, необходимо ознакомиться со следующими статьями:
- Создание фабрики образов
- Запуск фабрики образов из Azure DevOps
- Сохранение пользовательских образов и их распространение в несколько лабораторий
Должны присутствовать следующие элементы:
- Лаборатория для фабрики образов в Azure DevTest Labs.
- Одна или несколько целевых Azure DevTest Labs, где фабрика будет распространять окончательные образы.
- Проект Azure DevOps, используемый для автоматизации фабрики образов.
- Расположение исходного кода, содержащего скрипты и конфигурацию (в нашем примере — в том же проекте DevOps, который использовался выше).
- Определение сборки для управления задачами Azure PowerShell
Настройка политики хранения
Перед настройкой действий по очистке определите количество образов журнала, которое необходимо хранить в DevTest Labs. В ходе работы со статьей Запуск фабрики образов из Azure DevOps вы настроили различные переменные сборки. Одной из них была ImageRetention. Для этой переменной вы задали значение 1
. Это означает, что в DevTest Labs журнал пользовательских образов вестись не будет. Будут доступны только новейшие распределенные образы. Если значение этой переменной изменить на 2
, будут сохраняться и последняя распределенная, и предыдущие версии образа. С помощью этого значения можно определить количество образов журнала, которое необходимо поддерживать в DevTest Labs.
Очистка фабрики
Первым шагом при очистке фабрики является удаление из фабрики образов виртуальных машин с окончательными образами. Как и в предыдущих случаях, для выполнения этой задачи предусмотрен сценарий. Прежде всего в определение сборки следует добавить еще одну задачу Azure PowerShell, как показано на следующем рисунке.
Когда в списке появится новая задача, выберите элемент и укажите все сведения, как показано на следующем рисунке.
Параметры скрипта: -DevTestLabName $(devTestLabName)
.
Прекращение использования старых образов
Эта задача удаляет все старые образы, сохраняя только журнал, соответствующий переменной сборки ImageRetention. Добавьте в определение сборки дополнительную задачу сборки Azure PowerShell. После добавления выберите задачу и заполните сведения, как показано на следующем рисунке.
Параметры скрипта: -ConfigurationLocation $(System.DefaultWorkingDirectory)$(ConfigurationLocation) -SubscriptionId $(SubscriptionId) -DevTestLabName $(devTestLabName) -ImagesToSave $(ImageRetention)
.
Постановка сборки в очередь
Итак, вы завершили определение сборки. Теперь поместите новую сборку в очередь и убедитесь в том, что все работает. После завершения сборки в целевой лаборатории отобразятся новые пользовательские образы. Если вы проверите лабораторию фабрики образов, вы не увидите подготовленных виртуальных машин. Если вы добавите в очередь новые сборки, то заметите, как задачи на очистку начнут прекращать использование пользовательских образов из DevTest Labs. Прекращение использования соответствует значению срока хранения, заданному в переменных сборки.
Примечание
Если вы запустили конвейер сборки, описанный в конце последней статьи этого цикла, вручную удалите виртуальные машины, созданные в лаборатории фабрики образов, прежде чем ставить в очередь новую сборку. Этап очистки вручную требуется только до тех пор, пока вы выполняете настройку и проверяете работоспособность процедуры.
Сводка
Итак, вы запустили фабрику образов, которая может по требованию создавать и распространять пользовательские образы в ваши лаборатории. На данном этапе это просто вопрос правильной настройки образов и определения целевых лабораторий. Как упоминалось в предыдущей статье, файл Labs.json, расположенный в папке Конфигурация, указывает, какие образы должны быть доступны в каждой из целевых лабораторий. При добавлении в организацию других DevTest Labs необходимо просто добавить в файл Labs.json запись для новой лаборатории.
Добавить в фабрику новый образ также несложно. Если вам нужно включить в фабрику новый образ, откройте портал Azure и перейдите к соответствующей лаборатории фабрики. Нажмите кнопку, чтобы добавить виртуальную машину, и выберите нужный образ и артефакты Marketplace. Вместо нажатия кнопки Создать для создания новой виртуальной машины, выберите Просмотреть шаблон Azure Resource Manager. Сохраните шаблон в виде JSON-файла в папке GoldenImages в репозитории. При следующем запуске фабрики образов будет создан пользовательский образ.
Дальнейшие действия
- Запланируйте сборку или выпуск для периодического запуска фабрики образов. Созданные фабрикой образы будут регулярно обновляться.
- Создайте дополнительные окончательные образы для фабрики. Можно также создать артефакты, чтобы представить больше составляющих задач настройки виртуальной машины в виде сценариев и включить их в образы фабрики.
- Создайте отдельную сборку или выпуск для отдельного запуска скрипта DistributeImages. Этот скрипт можно выполнять при внесении изменений в файл Labs.json и получении образов, скопированных в целевые лаборатории, не создавая при этом все образы повторно.