Поиск сведений об образе в Azure Marketplace с помощью Azure CLI

Внимание

Эта статья ссылается на CentOS, дистрибутив Linux, который приближается к состоянию конца жизни (EOL). Обратите внимание на использование и план соответствующим образом. Дополнительные сведения см. в руководстве centOS End Of Life.

Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Гибкие масштабируемые наборы

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

Также просмотрите доступные образы и предложения в интернет-магазине Azure Marketplace или Azure PowerShell.

Терминология

Атрибуты образа Marketplace в Azure:

  • Издатель. Организация, создавшая образ. Примеры: Канонический, RedHat, SUSE.
  • Предложение. Имя группы связанных образов, созданных издателем. Примеры: 0001-com-ubuntu-server-jammy, RHEL, sles-15-sp3.
  • Номер SKU. Экземпляр предложения, например основной выпуск дистрибутива. Примеры: 22_04-lts-gen2, 8-lvm-gen2, 2-го поколения.
  • Версия. Номер версии SKU образа.

Эти значения можно передавать по отдельности или в виде образаURN, объединив эти значения через двоеточие (:). Например: Издатель:Предложение:SKU:Версия. Можно заменить номер версии в URN на latest (самая последняя), чтобы получить последнюю версию образа.

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

Вы можете запустить список образов az vm -all , чтобы просмотреть все доступные вам образы, но может потребоваться несколько минут, чтобы создать весь список. Более быстрый вариант — это использование az vm image listбез --all параметра, чтобы просмотреть список популярных образов виртуальных машин в Azure Marketplace. Например, чтобы увидеть кэшированный список популярных образов виртуальных машин в формате таблицы, выполните следующую команду:

az vm image list --output table

Выходные данные включают URN образа. Если этот параметр не --all указан, вы увидите UrnAlias для каждого изображения, если оно доступно. UrnAlias — это сокращенная версия, созданная для популярных образов, таких как Ubuntu2204. Имена псевдонимов образов Linux и их сведения, выходные с помощью этой команды:

Architecture    Offer                         Publisher               Sku                                 Urn                                                                             UrnAlias                 Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------  -----------------------  ---------
x64             CentOS                        OpenLogic               8_5-gen2                            OpenLogic:CentOS:8_5-gen2:latest                                                CentOS85Gen2             latest
x64             Debian11                      Debian                  11-backports-gen2                   Debian:debian-11:11-backports-gen2:latest                                       Debian-11                latest
x64             flatcar-container-linux-free  kinvolk                 stable-gen2                         kinvolk:flatcar-container-linux-free:stable-gen2:latest                         FlatcarLinuxFreeGen2     latest
x64             opensuse-leap-15-4            SUSE                    gen2                                SUSE:opensuse-leap-15-4:gen2:latest                                             OpenSuseLeap154Gen2      latest
x64             RHEL                          RedHat                  8-lvm-gen2                          RedHat:RHEL:8-lvm-gen2:latest                                                   RHELRaw8LVMGen2          latest
x64             sles-15-sp3                   SUSE                    gen2                                SUSE:sles-15-sp3:gen2:latest                                                    SLES                     latest
x64             0001-com-ubuntu-server-jammy  Canonical               22_04-lts-gen2                      Canonical:0001-com-ubuntu-server-jammy:22_04-lts-gen2:latest                    Ubuntu2204               latest

Имена псевдонимов образов Windows и их сведения, выходные данными этой команды:

Architecture    Offer                         Publisher               Sku                                 Urn                                                                            Alias                    Version
--------------  ----------------------------  ----------------------  ----------------------------------  ------------------------------------------------------------------------------ -----------------------  ---------
x64             WindowsServer                 MicrosoftWindowsServer  2022-Datacenter                     MicrosoftWindowsServer:WindowsServer:2022-Datacenter:latest                    Win2022Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2022-datacenter-azure-edition-core  MicrosoftWindowsServer:WindowsServer:2022-datacenter-azure-edition-core:latest Win2022AzureEditionCore   latest
x64             WindowsServer                 MicrosoftWindowsServer  2019-Datacenter                     MicrosoftWindowsServer:WindowsServer:2019-Datacenter:latest                    Win2019Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2016-Datacenter                     MicrosoftWindowsServer:WindowsServer:2016-Datacenter:latest                    Win2016Datacenter         latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-R2-Datacenter                  MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:latest                 Win2012R2Datacenter       latest
x64             WindowsServer                 MicrosoftWindowsServer  2012-Datacenter                     MicrosoftWindowsServer:WindowsServer:2012-Datacenter:latest                    Win2012Datacenter         latest

Поиск определенных образов

Список изображений --publisher можно отфильтровать по другому параметру, чтобы ограничить результаты.

Например, следующая команда отображает все предложения Debian:

az vm image list --offer Debian --all --output table

Вы можете ограничить результаты одной архитектурой, добавив --architecture параметр. Например, чтобы отобразить все изображения Arm64, доступные из канонического кода:

az vm image list --architecture Arm64 --publisher Canonical --all --output table

Просмотреть все доступные образы

Еще один способ поиска образа в определенном расположении — это выполнить по-очереди команды az vm image list-publishers, az vm image list-offers и az vm image list-skus. С помощью этих команд определяются следующие значения:

  1. Список издателей образов для расположения. В этом примере мы рассмотрим регион "Западная часть США ".

    az vm image list-publishers --location westus --output table
    
  2. Получить список предложений нужного издателя. В этом примере мы добавим RedHat в качестве издателя.

    az vm image list-offers --location westus --publisher RedHat --output table
    
  3. Получить список номеров SKU для требуемого предложения. В этом примере мы добавим RHEL в качестве предложения.

    az vm image list-skus --location westus --publisher RedHat --offer RHEL --output table
    

Примечание.

Канонический изменил имена предложений , которые они используют для последних версий. Перед Ubuntu 20.04 имя предложения — UbuntuServer. Для Ubuntu 20.04 имя предложения0001-com-ubuntu-server-focal это и для Ubuntu 22.04.0001-com-ubuntu-server-jammy

  1. Для данного издателя, предложения и SKU отображают все версии образа. В этом примере мы добавим 9_1 в качестве номера SKU.

    az vm image list \
        --location westus \
        --publisher RedHat \
        --offer RHEL \
        --sku 9_1 \
        --all --output table
    

Передайте это значение с параметром --image при создании виртуальной машины с помощью команды az vm create. Номер версии в URN можно также заменить на "последнюю", чтобы использовать последнюю версию образа.

При развертывании виртуальной машины с помощью шаблона Resource Manager установите отдельные параметры образа в свойствах imageReference. Ознакомьтесь со статьей о справочнике по шаблонам.

Проверка сведений о плане покупки

Некоторые образы виртуальных машин в Azure Marketplace имеют дополнительные условия лицензии и условия покупки, которые необходимо принять перед их программным развертыванием.

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

Чтобы просмотреть сведения о плане покупки образа, выполните команду az vm image show. plan Если свойство в выходных данных нетnull, образ имеет условия, которые необходимо принять перед программным развертыванием.

Например, образ Канонического Ubuntu Server 18.04 LTS не имеет дополнительных терминов, так как plan сведения:null

az vm image show --location westus --urn Canonical:UbuntuServer:18.04-LTS:latest

Выходные данные:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/Canonical/ArtifactTypes/VMImage/Offers/UbuntuServer/Skus/18.04-LTS/Versions/18.04.201901220",
  "location": "westus",
  "name": "18.04.201901220",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": null,
  "tags": null
}

После запуска аналогичных команд для образа RabbitMQ, сертифицированного Bitnami, отображаются следующие свойства plan: name, product и publisher. (Некоторые образы также имеют свойство promotion code).

az vm image show --location westus --urn bitnami:rabbitmq:rabbitmq:latest

Выходные данные:

{
  "dataDiskImages": [],
  "id": "/Subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/Providers/Microsoft.Compute/Locations/westus/Publishers/bitnami/ArtifactTypes/VMImage/Offers/rabbitmq/Skus/rabbitmq/Versions/3.7.1901151016",
  "location": "westus",
  "name": "3.7.1901151016",
  "osDiskImage": {
    "operatingSystem": "Linux"
  },
  "plan": {
    "name": "rabbitmq",
    "product": "rabbitmq",
    "publisher": "bitnami"
  },
  "tags": null
}

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

Принятие условий

Чтобы просмотреть и принять условия лицензии, используйте команду az vm image terms. При принятии условий в вашей подписке будет включено программное развертывание. Необходимо принять условия соглашения для каждой подписки в образе. Например:

az vm image terms show --urn bitnami:rabbitmq:rabbitmq:latest

Выходные данные в лицензионных условиях содержат licenseTextLink и указывают, что значение параметра accepted равно true.

{
  "accepted": true,
  "additionalProperties": {},
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.MarketplaceOrdering/offertypes/bitnami/offers/rabbitmq/plans/rabbitmq",
  "licenseTextLink": "https://storelegalterms.blob.core.windows.net/legalterms/3E5ED_legalterms_BITNAMI%253a24RABBITMQ%253a24RABBITMQ%253a24IGRT7HHPIFOBV3IQYJHEN2O2FGUVXXZ3WUYIMEIVF3KCUNJ7GTVXNNM23I567GBMNDWRFOY4WXJPN5PUYXNKB2QLAKCHP4IE5GO3B2I.txt",
  "name": "rabbitmq",
  "plan": "rabbitmq",
  "privacyPolicyLink": "https://bitnami.com/privacy",
  "product": "rabbitmq",
  "publisher": "bitnami",
  "retrieveDatetime": "2019-01-25T20:37:49.937096Z",
  "signature": "XXXXXXLAZIK7ZL2YRV5JYQXONPV76NQJW3FKMKDZYCRGXZYVDGX6BVY45JO3BXVMNA2COBOEYG2NO76ONORU7ITTRHGZDYNJNXXXXXX",
  "type": "Microsoft.MarketplaceOrdering/offertypes"
}

Чтобы принять условия, введите:

az vm image terms accept --urn bitnami:rabbitmq:rabbitmq:latest

Развертывание новой виртуальной машины с помощью параметров образа

Сведения о, образе можно развернуть с помощью команды az vm create.

Чтобы развернуть образ, который не имеет сведений о плане, например последний образ Ubuntu Server 18.04 из Канонического, передайте URN для --image:

az group create --name myURNVM --location westus
az vm create \
   --resource-group myURNVM \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image Canonical:UbuntuServer:18.04-LTS:latest

Для образа с параметрами плана покупки, например RabbitMQ, сертифицированного образом BitNami, вы передаете URN для --image, а также предоставляете параметры плана покупки:

az group create --name myPurchasePlanRG --location westus

az vm create \
   --resource-group myPurchasePlanRG \
   --name myVM \
   --admin-username azureuser \
   --generate-ssh-keys \
   --image bitnami:rabbitmq:rabbitmq:latest \
   --plan-name rabbitmq \
   --plan-product rabbitmq \
   --plan-publisher bitnami

Если вы получите сообщение о принятии условий образа, ознакомьтесь с разделом Принять условия. Убедитесь, что выходные данные az vm image accept-terms возвращают значение "accepted": true, , показывающее, что вы приняли условия изображения.

Использование существующего виртуального жесткого диска с информацией о плане покупки

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

Если у вас по-прежнему есть исходная виртуальная машина или другая виртуальная машина, созданная с помощью того же образа из Marketplace, вы можете получить имя плана, издателя и сведения о продукте с помощью команды az vm get-instance-view. В данном примере мы видим виртуальную машину с именем myVM из группы ресурсов myResourceGroup, а далее отображается информация плана покупки.

az vm get-instance-view -g myResourceGroup -n myVM --query plan

Если у вас нет информацию из плана, перед тем как удалять первоначальную виртуальную машину, можно разместить Запрос в службу поддержки. Им потребуется имя виртуальной машины, идентификатор подписки и метка времени операции удаления.

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

az vm create \
  --resource-group myResourceGroup \
  --name myNewVM \
  --nics myNic \
  --size Standard_DS1_v2 --os-type Linux \
  --attach-os-disk myVHD \
  --plan-name planName \
  --plan-publisher planPublisher \
  --plan-product planProduct

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

Инструкции по быстрому созданию виртуальной машины на основе данных образа см. в статье Создание виртуальных машин Linux и управление ими с помощью Azure CLI.