azure - 具有已配置托管标识的服务结构本地部署
问题描述
我目前正在尝试更改项目中的部署模型,以便可以使用 ARM 模板部署现有的 Service Fabric 应用程序并在 Azure 中启用托管标识。
在此过程中,我必须在应用程序清单上配置托管标识:
<ManagedIdentities>
<ManagedIdentity Name="SystemAssigned" />
</ManagedIdentities>
并向每个服务添加身份绑定策略,如下所示:
<Policies>
<IdentityBindingPolicy ServiceIdentityRef="KeyVaultUser" ApplicationIdentityRef="SystemAssigned" />
</Policies>
如果我将此应用程序清单部署到 Azure,我没有问题。但是,本地情况完全不同,因为现在我无法部署到本地开发集群,这是部署脚本的日志:
>Application package is registered.
>Removing application package from image store...
>Remove application package succeeded
>Creating application...
>New-ServiceFabricApplication : Application managed identity PrincipalId cannot be null or empty.
>FileName: ManagedApplicationIdentity
>At C:\Program Files\Microsoft SDKs\Service
>Fabric\Tools\PSModule\ServiceFabricSDK\Publish-NewServiceFabricApplication.ps1:466 char:3
>+ New-ServiceFabricApplication -ApplicationName $ApplicationNam ...
>+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> + CategoryInfo : InvalidOperation: (Microsoft.Servi...usterConnection:ClusterConnection) [New-ServiceFabr
> icApplication], FabricException
> + FullyQualifiedErrorId : CreateApplicationInstanceErrorId,Microsoft.ServiceFabric.Powershell.NewApplication
>
>Finished executing script 'Deploy-FabricApplication.ps1'.
据我调查,无法使用服务 ARM 定义添加身份绑定策略,因此需要在清单中。
关于如何克服这个问题并能够同时部署到 Azure 和本地集群的任何想法?
解决方案
推荐阅读
- javascript - JavaScript删除另一个数组中包含空元素的数组
- node.js - Node.js Express Post 请求正文为空
- firebase - 如何使用颤振从 Firebase 实时数据库中检索特定数据?
- java - 如何将值保存到Edittext?
- teradata - 使用 Teradata 中增量表中的 MERGE/INSERT 将非重复项插入主表
- swiftui - SwiftUI井字棋盘
- installation - 安装 Expo-CLI 时出错 .. 甚至尝试过 npm install --unsafe-perm -g expo-cli 但没有奏效
- java - Java 8:AveragingDouble 和映射到对象
- asp.net-mvc - Aspnet API 控制器参数未正确反序列化
- reactjs - React 单元测试 const 箭头函数