Настройка коллекции общих образов в Azure DevTest Labs
DevTest Labs поддерживает хранение и совместное использование образов в коллекции вычислений Azure. Общая коллекция образов упрощает обслуживание большого количества управляемых образов и делает их широко доступными. Это также отличный способ предоставить стандартизированные образы с текущим программным обеспечением для пользователей. Поддерживаются специализированные и обобщенные изображения. Используя общую коллекцию образов, вы можете создавать структуру и организацию вокруг образов виртуальных машин, управляемых пользовательскими пользователями.
В этой статье описывается, как подключить общую коллекцию образов к лаборатории. Пользователи могут получить доступ к изображениям из общего расположения при создании виртуальных машин лаборатории. Ключевым преимуществом этого подхода является то, что DevTest Labs позволяет совместно использовать образы виртуальных машин в лабораториях, между подписками и в разных регионах.
Изучение общих коллекций образов
Ниже приведены некоторые преимущества использования общей коллекции образов с DevTest Labs:
- Управление глобальной репликацией образов
- Применение управления версиями и группирование изображений для упрощения управления
- Доступ к высокодоступным образам с помощью учетных записей хранилища с избыточностью между зонами (ZRS) в регионах, поддерживающих зоны доступности для повышения устойчивости к зональным сбоям
- Совместное использование образов между подписками и между клиентами с помощью управления доступом на основе ролей (RBAC)
Помните, что при работе с общей коллекцией следует учитывать следующие рекомендации.
- Вы можете вложить только одну общую коллекцию образов в лабораторию одновременно. Чтобы подключить другую коллекцию, необходимо сначала отсоединить текущую коллекцию.
- Изображения можно выбрать только из подключенной коллекции с помощью DevTest Labs. Вы не можете отправлять изображения или изменять их в коллекции с помощью DevTest Labs.
- При создании виртуальной машины из общего образа DevTest Labs использует последнюю опубликованную версию образа в подключенной коллекции. Если образ имеет несколько версий, можно выбрать более раннюю версию в разделе "Дополнительные параметры " во время создания виртуальной машины.
- DevTest Labs пытается реплицировать все образы в подключенной коллекции в регион лаборатории. Иногда репликация невозможна. Чтобы избежать проблем при создании виртуальных машин из образов, убедитесь, что образы в подключенной коллекции полностью реплицируются в регион лаборатории.
Сведения о затратах, связанных с использованием общей коллекции образов, см. в статье "Выставление счетов для коллекции вычислений Azure".
Присоединение коллекции из портал Azure
Выполните следующие действия, чтобы подключить общую коллекцию образов к ресурсу DevTest Labs:
В портал Azure перейдите к ресурсу DevTest Labs, где требуется присоединить общую коллекцию образов.
На странице обзора лаборатории разверните раздел "Параметры" в меню слева и выберите "Конфигурация" и "Политики".
На экране "Конфигурация и политики" разверните раздел "Базы виртуальных машин" в меню слева и выберите "Общие коллекции образов":
Выберите "Присоединить ", чтобы добавить в лабораторию существующую общую коллекцию образов.
В раскрывающемся списке "Присоединение существующей коллекции" выберите общую коллекцию образов, чтобы добавить в лабораторию, а затем нажмите кнопку "ОК".
После подключения коллекции DevTest Labs к лаборатории можно выбрать имя коллекции, чтобы просмотреть полный список изображений:
Откроется страница общих образов :
Управление доступными изображениями
Параметр "Разрешить использование всех образов в качестве баз виртуальных машин" позволяет контролировать, какие образы доступны пользователям лаборатории при создании виртуальных машин лаборатории. По умолчанию этот параметр имеет значение "Да", а пользователи лаборатории имеют доступ ко всем изображениям в подключенной коллекции.
Выполните следующие действия, чтобы ограничить доступ к изображениям в коллекции:
На странице "Конфигурация и политики" для лаборатории перейдите на экран общих коллекций образов виртуальных> машин.
Выберите имя присоединенной коллекции, чтобы открыть страницу "Общие образы ", в которой отображается список изображений.
На странице общих образов задайте для параметра "Разрешить использование всех образов в качестве баз виртуальных машин" значение "Нет".
Чтобы любой образ, который вы хотите сделать недоступным для пользователей лаборатории, отключите флажок для изображения.
Выберите Сохранить.
Доступ к изображениям в подключенной коллекции
После присоединения общей коллекции образов к лаборатории пользователи лаборатории могут выбрать из разрешенных образов при создании новой виртуальной машины:
На странице "Конфигурация и политики" для лаборатории перейдите на экран общих коллекций образов виртуальных> машин.
Выберите имя присоединенной коллекции, чтобы открыть страницу "Общие образы ", в которой отображается список изображений.
Запишите имя образа коллекции, который вы хотите использовать для создания новой виртуальной машины.
Вернитесь на страницу обзора лаборатории и нажмите кнопку "Добавить".
На базовой странице выберите образ коллекции, который вы хотите использовать для создания новой виртуальной машины. В списке изображений разрешенные образы из подключенной общей коллекции образов следуют изображениям, доступным из шаблонов Azure Resource Manager (ARM):
Выполните действия, чтобы создать виртуальную машину из выбранного образа.
Отключение текущей общей коллекции образов
Лаборатория может одновременно содержать только одну подключенную общую коллекцию образов. Если в лаборатории есть присоединенная коллекция, и вы хотите использовать другую коллекцию, необходимо сначала отключить существующую коллекцию. После отключения существующей коллекции можно подключить другую коллекцию.
На странице "Конфигурация и политики" для лаборатории перейдите на экран общих коллекций образов виртуальных> машин.
Выберите дополнительные параметры (...) для подключенной коллекции и выберите "Отсоединить":
Параметр "Отключить " также доступен на странице "Общие образы " для подключенной коллекции.
Присоединение коллекции с помощью шаблона
Шаблон ARM можно использовать для подключения общей коллекции образов к лаборатории. Необходимо добавить коллекцию в качестве ресурса для шаблона ARM, как показано в следующем примере:
"resources": [
{
"apiVersion": "2018-10-15-preview",
"type": "Microsoft.DevTestLab/labs",
"name": "mylab",
"location": "eastus",
"resources": [
{
"apiVersion":"2018-10-15-preview",
"name":"myGallery",
"type":"sharedGalleries",
"properties": {
"galleryId":"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/mySharedGalleryRg/providers/Microsoft.Compute/galleries/mySharedGallery",
"allowAllImages": "Enabled"
}
}
]
}
Репозиторий GitHub DevTest Labs предоставляет полные примеры, использующие шаблоны ARM для присоединения общих коллекций образов. Чтобы приступить к работе, можно настроить общую коллекцию образов при создании новой лаборатории.
Использование REST API
В следующих разделах приведены примеры использования REST API для работы с изображениями из общей коллекции образов.
Получение списка лабораторий
Следующий вызов GET возвращает список ресурсов DevTest Labs для подписки. В этом примере приведены следующие параметры:
subscriptionId
: идентификатор подписки, для которого нужно вернуть список ресурсов DevTest Labs.resourceGroupName
: имя группы ресурсов для поиска ресурсов DevTest Labs.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs?api-version= 2018-10-15-preview
Получение списка общих коллекций образов для лаборатории
Следующий вызов GET возвращает список общих коллекций образов, связанных с лабораторией. В этом примере приведены следующие параметры:
subscriptionId
: идентификатор подписки для ресурса DevTest Labs.resourceGroupName
: имя группы ресурсов для ресурса DevTest Labs.labName
: имя ресурса DevTest Labs, для которого необходимо вернуть список связанных общих коллекций образов.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries?api-version= 2018-10-15-preview
Создание или обновление общей коллекции образов
Следующий вызов PUT создает или обновляет общую коллекцию образов для указанной лаборатории. В этом примере приведены следующие параметры:
subscriptionId
: идентификатор подписки для ресурса DevTest Labs.resourceGroupName
: имя группы ресурсов для ресурса DevTest Labs.labName
: имя ресурса DevTest Labs.name
: имя общей коллекции для создания или обновления для лаборатории.galleryId
: идентификатор общей коллекции для создания или обновления для лаборатории.allowAllImages
: установите дляEnabled
разрешения использования всех образов в коллекции с ресурсом лаборатории.
PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}?api-version=2018-10-15-preview
Body:
{
"properties":{
"galleryId": "[Shared Image Gallery resource Id]",
"allowAllImages": "Enabled"
}
}
Вывод списка изображений в общей коллекции образов
Следующий вызов GET возвращает список изображений в указанной общей коллекции образов для лаборатории. В этом примере приведены следующие параметры:
subscriptionId
: идентификатор подписки для ресурса DevTest Labs.resourceGroupName
: имя группы ресурсов для ресурса DevTest Labs.labName
: имя ресурса DevTest Labs.name
: имя общей коллекции, связанной с лабораторией, для которой требуется перечислить изображения.
GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DevTestLab/labs/{labName}/sharedgalleries/{name}/sharedimages?api-version=2018-10-15-preview