我在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的新手,所以有点迷茫。
答案 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磁盘。