等待Service Fabric群集可用的正确方法是什么?

时间:2019-01-11 01:14:44

标签: deployment azure-service-fabric

我正在自动将Service Fabric应用程序部署到Azure。到目前为止,我已经自动化:

  • 支持基础架构的创建:资源组,密钥库,证书
  • ARM模板的部署
  • 应用程序本身的构建和打包

现在,我正要连接到Fabric管理端点,以便可以部署应用程序。但是,如果在部署状态为“成功”后短时间内尝试连接,则会出现连接错误。如果我当时检查Service Fabric群集状态,则它仍在部署过程中。

我可以一直尝试每10秒进行一次连接,直到能够到达管理端点为止,但这似乎很脏,因为 actual 实际部署集群失败会导致构建超时。但是,由于管理端点尚不可用,因此我无法确定群集的运行状况,因此这似乎使我陷入了困境。

是否有一种标准,更清洁的方法来确定Service Fabric群集是否已准备好连接到我,以便部署我的应用程序?

1 个答案:

答案 0 :(得分:0)

首先,这个假设来自哪里:

 but this seems dirty, since actual failures to deploy the cluster would eventuate in a build timeout. 

如果arm模板成功部署-SF集群将出现,就是这样。其次,可以使用Get-AzResource在Azure中轮询SF资源并确定其状态。使用有限次数的尝试进行指数回退。

这整个方法毫无意义。您的应用程序管道不应依赖于基础结构管道。因此,一旦手臂模板部署完成且没有错误,则应将基础结构管道标记为已完成。因为此超时将在第一次运行时发生(我什至不确定,我只是在引用您)。同一群集的所有后续手臂模板更新不会使群集管理端点无法访问。