为关联Service Fabric的Azure VMSS配置用户分配托管标识部署失败
报错原因
- 你使用的
2017-03-30版本Microsoft.Compute/virtualMachineScaleSetsAPI对用户托管标识的支持不完善,且绑定了Service Fabric集群的VMSS在旧API规则下,默认要求必须配置SystemAssigned标识用于集群节点内部认证、扩展部署、证书轮转等底层运维操作,仅配置UserAssigned标识会触发参数校验失败。
解决方案
推荐使用双标识共存的方案,既能满足Service Fabric的运行要求,也能正常使用你配置的用户托管标识:
- 首先将VMSS的API版本升级到
2018-06-01及以上,该版本开始完整支持同时配置SystemAssigned和UserAssigned两种托管标识类型 - 修改
identity配置段,将类型改为同时包含两种标识,参考配置如下:
"variables": { "vmssApiVersion": "2018-06-01", ... } ... "identity": { "type": "SystemAssigned,UserAssigned", "identityIds": [ "/subscriptions/xxxxxxxxxxxxxxxxxxxxxx/resourceGroups/<RG>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<usrasgid>" ] }
如果确实需要移除SystemAssigned标识,需要先将Service Fabric集群Runtime版本升级到8.2及以上,同时在集群的ARM配置段中关闭VMSS系统标识强制校验规则,该操作可能导致集群内置运维功能失效,不推荐使用。
内容的提问来源于stack exchange,提问作者KRR
相关产品推荐
相关产品推荐

