Azure Devops 无法连接到 Service Fabric 群集
Posted
技术标签:
【中文标题】Azure Devops 无法连接到 Service Fabric 群集【英文标题】:Azure Devops cannot connect to Service Fabric Cluster 【发布时间】:2020-01-12 16:55:34 【问题描述】:我在 Azure DevOps 中为我们的 Service Fabric 集群设置了一个发布管道。但是在部署任务期间连接到集群时出现问题。
我尝试了不同的身份验证选项并收到不同的错误:
基于证书
我尝试了集群端点的 https 和 tcp 协议。我使用正确的密码将服务器证书指纹放在服务器和客户端证书字段中。我收到的错误是:
尝试导入证书时出错。确保使用正确的证书值正确配置您的服务端点,如果证书受密码保护,请确保使用有效密码。错误消息:使用“3”参数调用“导入”的异常:“找不到请求的对象。
19000 端口在公共负载均衡器上肯定是开放的。
Azure Active Directory 凭据
我使用服务器证书指纹以及我的 Azure 帐户用户名和密码尝试了这两种协议:
System.AggregateException:发生一个或多个错误。 ---> System.Fabric.FabricTransientException:无法 ping 任何提供的 Service Fabric 网关终结点。 ---> System.Runtime.InteropServices.COMException:来自 HRESULT 的异常:0x80071C49 在 System.Fabric.Interop.NativeClient.IFabricPropertyManagementClient2.EndNameExists(IFabricAsyncOperationContext 上下文) 在 System.Fabric.FabricClient.PropertyManagementClient.NameExistsEndWrapper(IFabricAsyncOperationContext 上下文) 在 System.Fabric.Interop.AsyncCallOutAdapter2
1.Finish(IFabricAsyncOperationContext context, Boolean expectedCompletedSynchronously) --- End of inner exception stack trace --- --- End of inner exception stack trace --- at Microsoft.ServiceFabric.Powershell.ClusterConnection.InitializeClaimsMetadata(TimeSpan timeout) at Microsoft.ServiceFabric.Powershell.ConnectCluster.ProcessRecord() ---> (Inner Exception #0) System.Fabric.FabricTransientException: Could not ping any of the provided Service Fabric gateway endpoints. ---> System.Runtime.InteropServices.COMException: Exception from HRESULT: 0x80071C49 at System.Fabric.Interop.NativeClient.IFabricPropertyManagementClient2.EndNameExists(IFabricAsyncOperationContext context) at System.Fabric.FabricClient.PropertyManagementClient.NameExistsEndWrapper(IFabricAsyncOperationContext context) at System.Fabric.Interop.AsyncCallOutAdapter2
1.Finish(IFabricAsyncOperationContext 上下文,布尔预期的CompletedSynchronously) --- 内部异常堆栈跟踪结束 ---
我可以在 Visual Studio 2017 中毫无问题地进行部署。有人知道这里发生了什么吗?
【问题讨论】:
【参考方案1】:我的客户证书有误。使用 powershell 获取正确的 base 64 字符串:
[System.Convert]::ToBase64String([System.IO.File]::ReadAllBytes("certificate.pfx"))
【讨论】:
以上是关于Azure Devops 无法连接到 Service Fabric 群集的主要内容,如果未能解决你的问题,请参考以下文章
Azure DevOps Artifact Feed 在 Visual Studio 中给出 500 错误
Azure 门户没有看到 DevOps 组织 [帐户问题?]
为啥我的 Azure 应用服务无法使用托管标识连接到 Azure 存储帐户?
如何将 Azure DevOps Extension for Azure CLI 与 Azure DevOps Server 一起使用?