[英]How do I create several private virtual machine images using Azure ARM?
[英]How do I create a public virtual machine image using Azure ARM?
我想創建一個任何人都可以使用ARM REST API啟動的虛擬機。
我怎么做? 我找不到說明。
顯然可以在此處創建公共虛擬機映像: https : //vmdepot.msopentech.com/help/contribute/vhd.html/
您可以通過兩種方法來執行此操作。 假設您在前端有一個網站/應用程序等,而這僅僅是您要尋找的后端通信。
這里的選項假定您擁有一個活動的Microsoft Azure帳戶,並且能夠通過門戶在其中創建VM。 一旦處於可以執行的階段,就可以使用REST API創建計算機。
您可以使用REST API通過將請求發送到此URI來直接創建PUT
https://management.azure.com/subscriptions/{subscription-id}/resourceGroups/{resource-group-name}/providers/Microsoft.Compute/virtualMachines/{vm-name}?validating={true|false}&api-version={api-version}
您需要將JSON文檔附加到該請求,以定義要創建的計算機。
{
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/virtualMachines/myvm1",
"name":"myvm1",
"type":"Microsoft.Compute/virtualMachines",
"location":"westus",
"tags": {
"department":"finance"
},
"properties": {
"availabilitySet": {
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.Compute/availabilitySets/myav1"
},
"hardwareProfile": {
"vmSize":"Standard_A0"
},
"storageProfile": {
"imageReference": {
"publisher":"MicrosoftWindowsServerEssentials",
"offer":"WindowsServerEssentials",
"sku":"WindowsServerEssentials",
"version":"latest"
},
"osDisk": {
"name":"myosdisk1",
"vhd": {
"uri":"http://mystorage1.blob.core.windows.net/vhds/myosdisk1.vhd"
},
"caching":"ReadWrite",
"createOption":"FromImage"
},
"dataDisks": [ {
"name":"mydatadisk1",
"diskSizeGB":"1",
"lun": 0,
"vhd": {
"uri" : "http://mystorage1.blob.core.windows.net/vhds/mydatadisk1.vhd"
},
"createOption":"Empty"
} ]
},
"osProfile": {
"computerName":"myvm1",
"adminUsername":"username",
"adminPassword":"password",
"customData":"",
"windowsConfiguration": {
"provisionVMAgent":true,
"winRM": {
"listeners": [ {
"protocol": "https",
"certificateUrl": "url-to-certificate"
} ]
},
"additionalUnattendContent": {
"pass":"oobesystem",
"component":"Microsoft-Windows-Shell-Setup",
"settingName":"FirstLogonCommands|AutoLogon",
"content":"<XML unattend content>"
}
"enableAutomaticUpdates":true
},
"secrets":[ {
"sourceVault": {
"id": "/subscriptions/{subscription-id}/resourceGroups/myresourcegroup1/providers/Microsoft.KeyVault/vaults/myvault1"
},
"vaultCertificates": [ {
"certificateUrl": "https://myvault1.vault.azure.net/secrets/{secretName}/{secretVersion}"
"certificateStore": "{certificateStoreName}"
} ]
} ]
},
"networkProfile": {
"networkInterfaces": [ {
"id":"/subscriptions/{subscription-id}/resourceGroups/myresourceGroup1/providers /Microsoft.Network/networkInterfaces/mynic1"
} ]
}
}
}
有關身份驗證和參數的更多詳細信息,可以在Azure虛擬機其余文檔中找到- 創建或更新虛擬機
或者,您可以在Azure的Github 模板存儲庫上創建一個Azure資源管理器模板,例如101-vm-simple-linux
一旦你的VM定義的模板要部署可以PUT
請求給此URI
https://management.azure.com/subscriptions/ {subscription-id} / resourcegroups / {resource-group-name} /providers/microsoft.resources/deployments/ {deployment-name}?api-version = {api-version }
如果將該模板文件與另一個文件(指定所需的任何參數)一起復制到Azure Blob,並將此JSON文檔與PUT
請求一起發送
{
"properties": {
"templateLink": {
"uri": "http://mystorageaccount.blob.core.windows.net/templates/template.json",
"contentVersion": "1.0.0.0",
},
"mode": "Incremental",
"parametersLink": {
"uri": "http://mystorageaccount.blob.core.windows.net/templates/parameters.json",
"contentVersion": "1.0.0.0",
}
}
}
您可以在以下位置找到相關文檔:- 創建模板部署
這是對@Michael B的回答的詳細說明:要發現可用的圖像,可以使用VMDepot(當然),也可以查詢所有市場圖像 。 首先查看發布者列表,然后從那里確定想要的圖像。
您發現的URN值將是您要在REST調用中使用的值。 希望這可以幫助...
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.