在现有 Service Fabric 群集中配置托管标识支持
若要在 Service Fabric 应用程序中使用 Azure 资源托管标识,请首先在群集上启用“托管标识令牌服务”。 此服务负责使用 Service Fabric 应用程序的托管标识对这些应用程序进行身份验证,以及代表它们获取访问令牌。 启用此服务以后,即可在 Service Fabric Explorer 中左侧窗格的“系统”部分看到它,它以 fabric:/System/ManagedIdentityTokenService 名称运行。
注意
若要启用托管标识令牌服务,必须使用 Service Fabric 运行时 6.5.658.9590 或更高版本。
可以在 Azure 门户中查找 Service Fabric 版群集,方法是:打开群集资源,然后在“基本信息”部分查找“Service Fabric 版本”属性。
如果群集处于“手动”升级模式,则需先将其升级到 6.5.658.9590 或更高版本。
在现有群集中启用“托管标识令牌服务”
若要在现有群集中启用托管标识令牌服务,需启动群集升级并指定两项更改:(1) 启用托管标识令牌服务,以及 (2) 请求重启每个节点。 首先,将以下代码片段添加到群集 Azure 资源管理器模板:
"fabricSettings": [
{
"name": "ManagedIdentityTokenService",
"parameters": [
{
"name": "IsEnabled",
"value": "true"
}
]
}
]
若要让更改生效,还需更改升级策略,指定在升级进展到群集时,在每个节点上以强制方式重启 Service Fabric 运行时。 此重启确保新启用的系统服务在每个节点上启动并运行。 在下面的代码片段中,forceRestart
是启用重启功能的必要设置。 对于其余参数,请使用下面所述的值或使用已为群集资源指定的现有自定义值。 通过在 Service Fabric 资源或 resources.azure.com 上选择“结构升级”选项,可以从 Azure 门户查看结构升级策略 ('upgradeDescription') 的自定义设置。 无法从 powershell 或 resources.azure.com 查看升级策略 ('upgradeDescription') 的默认选项。 有关其他信息,请参阅 ClusterUpgradePolicy。
"upgradeDescription": {
"forceRestart": true,
"healthCheckRetryTimeout": "00:45:00",
"healthCheckStableDuration": "00:05:00",
"healthCheckWaitDuration": "00:05:00",
"upgradeDomainTimeout": "02:00:00",
"upgradeReplicaSetCheckTimeout": "1.00:00:00",
"upgradeTimeout": "12:00:00"
}
注意
成功完成升级以后,请勿忘记回退 forceRestart
设置,尽量减少后续升级的影响。
错误和故障排除
如果部署失败并出现以下错误,则表明群集运行时所在的 Service Fabric 的版本不够高:
{
"code": "ParameterNotAllowed",
"message": "Section 'ManagedIdentityTokenService' and Parameter 'IsEnabled' is not allowed."
}