我有一个用于服务结构的3节点群集,其中部署在第三个节点上停留了10个小时。通过查看SF Explorer,我们发现传递了错误的SQL凭据,因此卡住了部署。
1)SF为什么在“警告”而不是“错误”时识别它
2)为什么它卡住了而不回滚?
3)我需要做一些额外的设置,以便它更快地自动回滚吗?
答案 0 :(得分:0)
通常,它会在部署失败时回滚,但这取决于您为升级传递的参数,例如FailureAction,UpgradeMode和Timeouts。
UpgradeMode 值可以是:
受监视的:指示已监视升级模式。 cmdlet完成升级域的升级后,如果升级域和群集的运行状况符合您定义的运行状况策略,则Service Fabric会升级下一个升级域。如果升级域或群集无法满足运行状况策略,则升级将失败,并且Service Fabric将根据FailureAction中指定的策略回退升级域的升级,或还原为手动模式。 这是在生产环境中升级应用程序的推荐模式 。
不受监视的自动:指示升级模式是不受监视的自动。 Service Fabric升级升级域后,Service Fabric会升级下一个升级域,而不管应用程序运行状况如何。不建议将该模式用于生产环境,仅在应用程序开发期间有用。
不受监视的手册:指示升级模式为不受监视的手册。 Service Fabric升级升级域后,它将等待您使用Resume-ServiceFabricApplicationUpgrade cmdlet升级下一个升级域。
FailureAction 是当受监视的升级遇到监视策略或健康策略违规时执行的补偿操作。值可以是:
鉴于,如果对于 UpgradeMode 和 FailureAction ,没有将升级设置为 Monitored ,并且将 FailureAction 设置为 Rollback 升级将等待操作员(用户)的手动操作。
如果升级已经设置为这些值,则问题可能是:
以下文档提供了所有详细信息:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-application-upgrade-parameters