【发布时间】:2019-12-16 09:21:27
【问题描述】:
我遇到了一个问题,其中 azure vmss(已启用托管标识)的新部署由于以下错误而首次失败 -
代码:ResourceNotFound。 消息:未找到资源组“”下的资源“Microsoft.Compute/virtualMachineScaleSets/”
以下是我的arm模板的相关sn-ps -
VMSS 部分-
{
"type": "Microsoft.Compute/virtualMachineScaleSets",
"sku": {
"name": "[parameters('vmNodeType0Size')]",
"capacity": "[parameters('defaultVMScaleSetSize')]",
"tier": "Standard"
},
"name": "[variables('vmNodeType0Name')]",
"apiVersion": "[variables('vmssApiVersion')]",
"location": "[parameters('computeLocation')]",
"tags": {
"resourceType": "Service Fabric",
"clusterName": "[variables('cloudClusterName')]"
},
"identity": {
"type": "systemAssigned"
},
"properties": {
...
}
}
访问策略部分 -
{
"type": "Microsoft.KeyVault/vaults/accessPolicies",
"name": "[concat(variables('KeyVaultName'), '/add')]",
"apiVersion": "2018-02-14",
"properties": {
"accessPolicies": [
{
"tenantId": "[reference(concat('Microsoft.Compute/virtualMachineScaleSets/', variables('vmNodeType0Name'), '/providers/Microsoft.ManagedIdentity/Identities/default'), '2015-08-31-PREVIEW').tenantId]",
"objectId": "[reference(concat('Microsoft.Compute/virtualMachineScaleSets/', variables('vmNodeType0Name'), '/providers/Microsoft.ManagedIdentity/Identities/default'), '2015-08-31-PREVIEW').principalId]",
"permissions": {
"keys": [
"get"
],
"secrets": [
"get",
"set"
],
"certificates": [
"get"
]
}
}
]
},
"dependsOn": [
"[concat('Microsoft.KeyVault/vaults/', variables('KeyVaultName'))]"
]
}
似乎 ARM 甚至在创建 VMSS 本身之前就尝试为 VMSS 部署托管标识,因此它失败了。我发现无法为托管身份创建添加对 VMSS 创建的依赖项。后续部署成功,因为此时已经创建了 VMSS。
【问题讨论】:
标签: azure azure-resource-manager arm-template azure-template azure-managed-identity