gpt4 book ai didi

azure - 使用系统分配的托管标识重新部署 Azure VMSS 失败

转载 作者:行者123 更新时间:2023-12-03 02:44:48 25 4
gpt4 key购买 nike

我遇到一个问题,其中 azure vmss(已启用托管身份)的新部署由于以下错误而首次失败 -

代码:ResourceNotFound。消息:找不到资源组“”下的资源“Microsoft.Compute/virtualMachineScaleSets/”

以下是我的 ARM 模板的相关片段 -

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 已创建。

最佳答案

尝试将以下内容添加到 KV 资源:

"dependsOn": [ "[variables('vmNodeType0Name')]" ]

如果这不起作用,请将添加到 KV 的访问策略包装到链接模板部署中,并使该部署依赖于 vmss 配置。这总是有效的。

关于azure - 使用系统分配的托管标识重新部署 Azure VMSS 失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59353642/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com