2016-11-18 5 views
0

J'essaie de déployer une version modifiée de https://github.com/Azure/azure-quickstart-templates/blob/master/201-vmss-ubuntu-autoscale/azuredeploy.json pour ajouter l'extension Docker mais j'obtiens une erreur lors du déploiement. Vous pouvez voir comment j'ai essayé de le faire à https://gist.github.com/jinky32/d80e0ab2137236ff262484193f93c946 ligne 329 ++Modifier le modèle 201-vmss-ubuntu-autoscale Azure Quickstart pour inclure l'extension Docker

{ 
    "type": "Microsoft.Compute/virtualMachines/extensions", 
    "name": "[concat(variables('vmName'),'/', variables('extensionName'))]", 
    "apiVersion": "2015-05-01-preview", 
    "location": "[variables('location')]", 
    "dependsOn": [ 
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]" 
    ], 
    "properties": { 
    "publisher": "Microsoft.Azure.Extensions", 
    "type": "DockerExtension", 
    "typeHandlerVersion": "1.0", 
    "autoUpgradeMinorVersion": true 
     } 
     } 

quand je lance azure group create --name autoscalegroup2 --location "West Europe" \ --template-uri http://path/to.json

après avoir saisi quelques-unes des détails que je suis invité à entrer je reçois error: InvalidTemplate : Deployment template validation failed: 'The resource 'Microsoft.Compute/virtualMachines/autoscalegroup2' is not defined in the template. Please see https://aka.ms/arm-template for usage details.'.

Cependant je pensais que cela devrait fonctionner sur la base des lignes 334-336

"dependsOn": [ 
    "[concat('Microsoft.Compute/virtualMachines/', variables('vmName'))]" 
    ], 

et vmName étant définie dans les variables ci-dessus (ligne 68)

"vmName": "[resourceGroup().name]",

Toute aide très appréciée!

Répondre

0

Extensions sont rédigés différemment pour VMSSs - Je ne trouve pas un échantillon exact (comme vous l'avez sans doute pas), mais jeter un oeil à cela pour un exemple:

https://github.com/Azure/azure-quickstart-templates/blob/master/201-vmss-ubuntu-web-ssl/azuredeploy.json#L382-L398

Le corps de propriétés pour les extensions sont toujours les mêmes pour VMSS mais ce n'est pas une ressource enfant. Donc, vous finirez avec quelque chose comme ça dans les propriétés des ressources VMSS objet:

 "extensionProfile": { 
     "extensions": [ 
      { 
      "name": "docker", 
      "properties": { 
       "publisher": "Microsoft.Azure.Extensions", 
       "type": "DockerExtension", 
       "typeHandlerVersion": "1.0", 
       "autoUpgradeMinorVersion": true, 
       "settings": {} 
      } 
      } 
     ] 
     }, 

Le profil d'extension est un pair de osProfile, networkProfile, etc

+0

grand merci - fonctionne parfaitement! –