通过Azure门户创建香草服务结构集群后,我在VM Scale Set上得到此错误。使用一系列不同的集群名称、大小和虚拟机类型都会发生这种情况。
完全错误:
{
"status": "Failed",
"error": {
"code": "ResourceDeploymentFailure",
"message": "The resource operation completed with terminal provisioning state 'Failed'.",
"details": [
{
"code": "VMExtensionHandlerNonTransientError",
"message": "Handler 'Microsoft.Azure.ServiceFabric.ServiceFabricNode' has reported failure for VM Extension 'Test_ServiceFabricNode' with terminal error code '1009' and error message: 'Enable failed for plugin (name: Microsoft.Azure.ServiceFabric.ServiceFabricNode, version 1.0.0.33) with exception Command C:\Packages\Plugins\Microsoft.Azure.ServiceFabric.ServiceFabricNode\1.0.0.33 \ServiceFabricExtensionHandler.exe of Microsoft.Azure.ServiceFabric.ServiceFabricNode has exited with Exit code: -532462766'"
}
]
}
}
这是在我试图将我的用户代码发布到集群之前,所以不确定是什么原因导致的。对大多数事情使用默认设置。初始容量3(测试集群)。青铜耐久性/可靠性
编辑:在远程桌面连接到其中一个虚拟机时发现此问题
Application: ServiceFabricExtensionHandler.exe
Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: Microsoft.Azure.ServiceFabric.Extension.Core.AgentException
at Microsoft.Azure.ServiceFabric.Extension.Core.CertificateUtility.LoadClientCertificate(System.String, System.String)
at Microsoft.Azure.ServiceFabric.Extension.Core.CertificateUtility.LoadCertificateWrapper(Microsoft.Azure.ServiceFabric.Extension.Core.Models.CertificateSettings)
at Microsoft.Azure.ServiceFabric.Extension.Core.Models.HandlerSettings.AllowAccessToCerts()
at Microsoft.Azure.ServiceFabric.Extension.Core.VMExtensionHandler.ValidateDeployment(Microsoft.Azure.ServiceFabric.Extension.Core.Models.HandlerSettings)
at Microsoft.Azure.ServiceFabric.Extension.Core.VMExtensionHandler.InstallService()
at Microsoft.Azure.ServiceFabric.Extension.Core.VMExtensionHandler.InstallServiceWithRetry()
at Microsoft.Azure.ServiceFabric.Extension.Core.VMExtensionHandler.Enable()
at Microsoft.Azure.ServiceFabric.Extension.Handler.Program.Main(System.String[])
问题是Service Fabric找不到您配置的证书。这有几个常见的原因:
- 提供错误的证书指纹。假设您正在使用KeyVault,请确保您没有使用KeyVault URL的ID部分作为您的证书指纹。 在您的证书指纹的开头有一个隐藏的unicode字符。如果您从Windows证书查看器对话框中获得拇指指纹,这是常见的,因为当您从该对话框中复制/粘贴时,它会在开头插入一个隐藏字符。解决方案是首先复制到记事本(或任何其他ASCII编辑器)。
如果RDP到其中一个vm,有两种方法可以解决这个问题:
- 在C:WindowsAzure logs WaAppAgent.logs下检查Azure客户机代理日志。您将寻找与安装microsoft . azure . serviceffabric有关的条目。扩展,然后像"找不到证书与拇指指纹"xxxx"…"。确保指纹是你所期望的,并且指纹不是以问号"?"开头的。xxx",表示隐藏的unicode字符。 打开ServiceFabric Admin事件日志(eventvwr -> Applications and Services logs -> microsoft - serviceffabric)。您应该看到与加载证书失败相关的错误条目。