【问题标题】:What is the correct approach to waiting for a Service Fabric cluster to become available?等待 Service Fabric 群集可用的正确方法是什么?
【发布时间】:2019-06-05 22:31:45
【问题描述】:

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

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

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

我可以继续尝试每 10 秒连接一次,直到我能够访问管理端点,但这似乎很脏,因为部​​署集群的实际失败最终会导致构建超时。但是,我无法确定集群的运行状况,因为管理端点尚不可用,所以这似乎让我陷入了困境。

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

【问题讨论】:

标签: deployment azure-service-fabric


【解决方案1】:

首先,这个假设从何而来:

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

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-09-09
    • 2014-05-08
    • 2021-04-18
    • 2013-01-09
    • 2016-09-28
    • 2018-07-11
    • 2017-09-13
    • 1970-01-01
    相关资源
    最近更新 更多