如何使用Azure CLI从.vhd文件创建Azure映像

时间:2020-09-14 05:47:37

标签: azure azure-cli

我在Azure VM中拥有一个自定义vhd。这是一台linux机器。我需要使用azure cli从此vhd文件创建映像。然后,该映像将用于创建具有用户名和密码的VM。我已经成功地使用vhd通过门户网站创建了一个映像,并由此创建了一个VM。但是,我无法使用cli命令创建映像。这是我运行命令时得到的-

jenkins@Jenkins-vm:~/testFolder$ az image create -g myRG -n myImage --os-type Linux --source ./myCustom.vhd
usage: az image create [-h] [--verbose] [--debug] [--only-show-errors]
                       [--output {json,jsonc,yaml,yamlc,table,tsv,none}]
                       [--query JMESPATH] [--subscription _SUBSCRIPTION]
                       --resource-group RESOURCE_GROUP_NAME --name NAME
                       --source SOURCE [--os-type {Windows,Linux}]
                       [--data-disk-sources DATA_DISK_SOURCES [DATA_DISK_SOURCES ...]]
                       [--location LOCATION]
                       [--storage-sku {Standard_LRS,Premium_LRS,StandardSSD_LRS,UltraSSD_LRS}]
                       [--hyper-v-generation {V1,V2}]
                       [--os-disk-caching {None,ReadOnly,ReadWrite}]
                       [--data-disk-caching {None,ReadOnly,ReadWrite}]
                       [--tags [TAGS [TAGS ...]]]
                       [--zone-resilient [{true,false}]]
az image create: error: 'NoneType' object has no attribute 'os_disk'

我不明白所显示错误的含义。 我是Azure的新手,所以有点迷茫。

1 个答案:

答案 0 :(得分:1)

您可以看到CLI命令az image create的描述:

从托管磁盘或快照创建自定义虚拟机映像。

参数--source的描述:

同一地区的

OS磁盘源,包括虚拟机ID或 名称,操作系统磁盘Blob URI,托管操作系统磁盘ID或名称或操作系统快照ID 或名称。

这意味着CLI命令只能从Azure创建VM映像,无论VM blob URI,托管磁盘或快照如何,它们都应存在于Azure中。因此,您需要将VHD文件上传到Azure存储Blob,然后使用VHD URI通过CLI命令创建VM映像。您需要注意的一件事是VHD文件应该是OS磁盘。