Aggiungere un'immagine personalizzata in un modello di set di scalabilità di Azure
Nota
Questo documento illustra i set di scalabilità di macchine virtuali in esecuzione in modalità di orchestrazione uniforme. È consigliabile usare l'orchestrazione flessibile per i nuovi carichi di lavoro. Per altre informazioni, vedere Modalità di orchestrazione per i set di scalabilità di macchine virtuali in Azure.
Questo articolo illustra come modificare il modello di set di scalabilità di base per la distribuzione da un'immagine personalizzata.
In un articolo precedente è stato creato un modello di set di scalabilità di base. Il modello creato verrà ora modificato in modo da realizzare un modello per distribuire un set di scalabilità da un'immagine personalizzata.
Se si dispone già di un'immagine di disco gestito personalizzata (una risorsa di tipo Microsoft.Compute/images
), è possibile ignorare questa sezione.
Prima di tutto aggiungere un parametro sourceImageVhdUri
, ovvero l'URI al BLOB generalizzato in Archiviazione di Azure che contiene l'immagine personalizzata da cui avviare la distribuzione.
},
"adminPassword": {
"type": "securestring"
+ },
+ "sourceImageVhdUri": {
+ "type": "string",
+ "metadata": {
+ "description": "The source of the generalized blob containing the custom image"
+ }
}
},
"variables": {},
Aggiungere poi una risorsa di tipo Microsoft.Compute/images
, ovvero l'immagine del disco gestito basata sul BLOB generalizzato presente nell'URI sourceImageVhdUri
. Questa immagine deve trovarsi nella stessa area del set di scalabilità da cui viene usata. Nelle proprietà dell'immagine specificare il tipo di sistema operativo, la posizione del BLOB ottenuta dal parametro sourceImageVhdUri
e il tipo di account di archiviazione:
"resources": [
{
+ "type": "Microsoft.Compute/images",
+ "apiVersion": "2019-03-01",
+ "name": "myCustomImage",
+ "location": "[resourceGroup().location]",
+ "properties": {
+ "storageProfile": {
+ "osDisk": {
+ "osType": "Linux",
+ "osState": "Generalized",
+ "blobUri": "[parameters('sourceImageVhdUri')]",
+ "storageAccountType": "Standard_LRS"
+ }
+ }
+ }
+ },
+ {
"type": "Microsoft.Network/virtualNetworks",
"name": "myVnet",
"location": "[resourceGroup().location]",
Nella risorsa del set di scalabilità aggiungere una clausola dependsOn
che fa riferimento all'immagine personalizzata, in modo da essere certi che l'immagine venga creata prima che il set di scalabilità tenti la distribuzione da tale immagine:
"location": "[resourceGroup().location]",
"apiVersion": "2019-03-01-preview",
"dependsOn": [
- "Microsoft.Network/virtualNetworks/myVnet"
+ "Microsoft.Network/virtualNetworks/myVnet",
+ "Microsoft.Compute/images/myCustomImage"
],
"sku": {
"name": "Standard_A1",
In imageReference
del set di scalabilità storageProfile
anziché specificare editore, offerta, SKU e versione di un'immagine della piattaforma, specificare id
della risorsa Microsoft.Compute/images
:
"virtualMachineProfile": {
"storageProfile": {
"imageReference": {
"id": "[resourceId('Microsoft.Compute/images', omImage')]"
}
},
"osProfile": {
...
}
}
In questo esempio viene usata la funzione resourceId
per ottenere l'ID della risorsa dell'immagine creata nello stesso modello. Se l'immagine del disco gestito è stata creata in precedenza, è necessario indicare invece l'ID di tale immagine. L'ID deve essere nel formato seguente: /subscriptions/<subscription-id>resourceGroups/<resource-group-name>/providers/Microsoft.Compute/images/<image-name>
.
È possibile distribuire il modello precedente seguendo quanto indicato nella documentazione di Azure Resource Manager.
Questa serie di esercitazioni può essere avviata dall'articolo sul modello di set di scalabilità di base.
È possibile vedere come modificare il modello di set di scalabilità di base per distribuire il set di scalabilità in una rete virtuale esistente.
È possibile vedere come modificare il modello di set di scalabilità di base per distribuire il set di scalabilità con un'immagine personalizzata.
È possibile vedere come modificare il modello di set di scalabilità di base per distribuire un set di scalabilità Linux con scalabilità automatica basata su guest.
Per altre informazioni al riguardo, vedere la panoramica sui set di scalabilità.