Руководство. Создание пользовательского образа виртуальной машины Azure с помощью Azure CLI
Область применения: ✔️ Виртуальные машины Linux ✔️ Гибкие масштабируемые наборы
Пользовательские образы похожи на образы магазина, однако их можно создавать самостоятельно. Пользовательские образы можно использовать для начальной загрузки конфигураций, например при предварительной загрузке приложений, конфигураций приложений и других конфигураций операционной системы. В рамках этого руководства вы создадите собственный пользовательский образ виртуальной машины Azure. Узнайте следующие темы:
- Создание Коллекции вычислений Azure (ранее — Общая коллекция образов)
- Создание определения образа
- Создание версии образа
- Создание виртуальной машины из образа
- Общий доступ к коллекции
При работе с этим руководством используется интерфейс командной строки (CLI) в Azure Cloud Shell, который всегда обновлен до последней версии. Чтобы открыть Cloud Shell, выберите Попробовать в верхнем углу любого блока кода.
Если вы решили установить и использовать интерфейс командной строки локально, в этом руководстве требуется, чтобы вы работали с Azure CLI версии 2.35.0 или более поздней. Чтобы узнать версию, выполните команду az --version
. Если вам необходимо выполнить установку или обновление, см. статью Установка Azure CLI 2.0.
Обзор
Коллекция вычислений Azure упрощает обмен пользовательскими образами в вашей организации. Пользовательские образы похожи на образы магазина, однако их можно создавать самостоятельно. Пользовательские образы можно использовать для начальной загрузки конфигураций, например при предварительной загрузке приложений, конфигураций приложений и других конфигураций операционной системы.
Коллекция вычислений Azure позволяет предоставить другим пользователям общий доступ к пользовательским образам виртуальной машины. Выберите изображения, с которыми вы хотите поделиться, в каких регионах они будут доступны и с кем вы хотите поделиться ими.
Возможность "Коллекция вычислений Azure" имеет несколько типов ресурсов.
Ресурс | Description |
---|---|
Источник образа | Это ресурс, который можно использовать для создания версии образа в коллекции. Источником образа может быть существующая виртуальная машина Azure (универсальная или специализированная), управляемый образ, моментальный снимок или версия образа в другой коллекции. |
Галерея | Как и Azure Marketplace, коллекция — это репозиторий для администрирования и совместного использования образов и приложений VM, но здесь, в отличие от Azure Marketplace, доступ к коллекции контролируете вы. |
Определение образа | Определения образов создаются в коллекции и содержат сведения об образе и требованиях для их внутреннего использования. Эти сведения включают в себя: определение, относится ли этот образ к Windows или к Linux, заметки о выпуске, а также минимальные и максимальные требования к памяти. Это определение типа образа. |
Версия образа | Версия образа используется для создания виртуальной машины с помощью коллекции. В зависимости от требований для вашей среды, у вас может быть несколько версий образа. Так же как и управляемый образ при использовании версии образа для создания виртуальной машины, версия образа используется для создания новых дисков для виртуальной машины. Версии образов можно использовать несколько раз. |
Подготовка к работе
Ниже показано, как выполнить существующую виртуальную машину и превратить ее в многократно используемый пользовательский образ, который можно использовать для создания новых экземпляров виртуальных машин.
Для выполнения примера в этом руководстве требуется виртуальная машина. При необходимости просмотрите краткое руководство по CLI, чтобы создать виртуальную машину для работы с этим руководством. При работе с учебником заменяйте имена ресурсов по мере необходимости.
Запуск Azure Cloud Shell
Azure Cloud Shell — это бесплатная интерактивная оболочка, с помощью которой можно выполнять действия, описанные в этой статье. Она включает предварительно установленные общие инструменты Azure и настроена для использования с вашей учетной записью.
Чтобы открыть Cloud Shell, просто выберите Попробовать в правом верхнем углу блока кода. Cloud Shell можно также запустить в отдельной вкладке браузера, перейдя на страницу https://shell.azure.com/powershell. Нажмите кнопку Копировать, чтобы скопировать блоки кода. Вставьте код в Cloud Shell и нажмите клавишу "ВВОД", чтобы выполнить его.
Создать коллекцию
Коллекция является основным ресурсом, который позволяет обмен изображениями.
Имя коллекции может содержать прописные и строчные буквы, а также цифры и точки, Имя коллекции не может содержать дефисы. Имена коллекций должны быть уникальным в пределах вашей подписки.
Создайте коллекцию, используя команду az sig create. В следующем примере показано, как создать группу ресурсов с именем myGalleryRG в регионе восточная часть США и коллекцию с именем myGallery.
az group create --name myGalleryRG --location eastus
az sig create --resource-group myGalleryRG --gallery-name myGallery
Получение информации о виртуальной машине
Список доступных виртуальных машин можно просмотреть с помощью команды az vm list.
az vm list --output table
Когда вы узнаете имя виртуальной машины и группу ресурсов, в которой она находится, получите идентификатор виртуальной машины с помощью команды az vm get-instance-view.
az vm get-instance-view -g MyResourceGroup -n MyVm --query id
Скопируйте идентификатор виртуальной машины, чтобы применить его позже.
Создание определения образа
Образы можно объединять в логические группы с помощью определений образов. Они используются для управления сведениями о версиях образа, созданных в них.
В имени определения образа можно использовать прописные и строчные буквы, цифры, точки и дефисы.
Дополнительные сведения о значениях, которые можно указать для определения образа, см. в разделе Определения образов.
Создайте в коллекции определение образа, используя команду az sig image-definition create.
В этом примере определение образа имеет имя myImageDefinition и предназначено для специализированного образа ОС Linux.
az sig image-definition create \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--publisher myPublisher \
--offer myOffer \
--sku mySKU \
--os-type Linux \
--os-state specialized
В выходных данных скопируйте идентификатор определения образа, чтобы применить его позже.
Создание версии образа
Создайте версию образа на основе виртуальной машины, используя команду az sig image-version create.
Допустимыми знаками для имени версии образа являются цифры и точки. Числа должны быть в диапазоне 32-битного целого числа. Формат: основной номер версии.дополнительный номер версии.исправление.
В этом примере версия образа — 1.0.0, и мы создадим две реплики в регионе "Западная часть США", одна реплика в регионе "Центральная часть США" и одна реплика в регионе "Восточная часть США 2" с использованием хранилища, избыточного между зонами. В числе регионов репликации должен быть регион, в котором находится исходная виртуальная машина.
Замените значение параметра --managed-image
в этом примере на идентификатор вашей виртуальной машины из предыдущего шага.
az sig image-version create \
--resource-group myGalleryRG \
--gallery-name myGallery \
--gallery-image-definition myImageDefinition \
--gallery-image-version 1.0.0 \
--target-regions "westcentralus" "southcentralus=1" "eastus=1=standard_zrs" \
--replica-count 2 \
--managed-image "/subscriptions/<Subscription ID>/resourceGroups/MyResourceGroup/providers/Microsoft.Compute/virtualMachines/myVM"
Примечание.
Прежде чем использовать тот же управляемый образ для создания другой версии образа, необходимо дождаться завершения сборки и репликации версии образа.
Вы также можете сохранить образ в хранилище класса Премиум, добавив --storage-account-type premium_lrs
, или хранилище, избыточное между зонами, добавив --storage-account-type standard_zrs
при создании версии образа.
Создание виртуальной машины
Создайте виртуальную машину с помощью az vm create с помощью --specialized
параметра, чтобы указать, что образ является специализированным образом.
Используйте идентификатор определения образа в качестве значения параметра --image
, чтобы создать виртуальную машину на основе последней доступной версии образа. Вы также можете создать виртуальную машину на основе определенной версии, указав идентификатор версии образа в параметре --image
.
В нашем примере виртуальная машина создается на основе последней версии образа myImageDefinition.
az group create --name myResourceGroup --location eastus
az vm create --resource-group myResourceGroup \
--name myVM2 \
--image "/subscriptions/<Subscription ID>/resourceGroups/myGalleryRG/providers/Microsoft.Compute/galleries/myGallery/images/myImageDefinition" \
--specialized
Предоставление общего доступа к коллекции
Вы можете предоставить общий доступ к образам в разных подписках, используя механизм управления доступом на основе ролей Azure (Azure RBAC). Такой доступ к образам можно предоставить на уровне коллекции, определения образа или версии образа. Любой пользователь с разрешениями на чтение версии образа, даже из другой подписки, сможет развернуть виртуальную машину с помощью версии образа.
Мы рекомендуем предоставлять общий доступ другим пользователям на уровне коллекции. Чтобы получить идентификатор объекта коллекции, используйте команду az sig show.
az sig show \
--resource-group myGalleryRG \
--gallery-name myGallery \
--query id
Используйте идентификатор объекта в качестве области, а также адрес электронной почты и команду az role assignment create, чтобы предоставить пользователю доступ к Коллекции вычислений Azure. Замените <email-address>
и <gallery iD>
своими значениями.
az role assignment create \
--role "Reader" \
--assignee <email address> \
--scope <gallery ID>
Дополнительные сведения о совместном использовании ресурсов с помощью Azure RBAC см. в статье Добавление и удаление назначений ролей Azure с помощью Azure CLI.
Средство создания образов Azure
Azure также предлагает службу на основе Packer — Конструктор образов виртуальных машин Azure. Опишите настройки в шаблоне и обработает создание образа.
Следующие шаги
В рамках этого руководства вы создали пользовательский образ виртуальной машины. Вы научились выполнять следующие задачи:
- Создание Коллекции вычислений Azure
- Создание определения образа
- Создание версии образа
- Создание виртуальной машины из образа
- Общий доступ к коллекции
Перейдите к следующему руководству, чтобы узнать о Масштабируемые наборы виртуальных машин.