监视 Service Fabric 部署

Monitoring Service Fabric deployments

我正在使用 powershell 从 Jenkins 作业进行部署。作业会成功,部署会在集群上启动,但有时会失败并回滚,在这种情况下我不会收到通知。

有没有一种方法可以使用 powershell cmdlet 来监视我的 jenkins 作业的升级以轮询状态或某种方式来了解它是成功完成还是失败?

不知道是否有更聪明的方法,但您可以使用 "Get-ServiceFabricApplicationUpgrade" cmdlet 获取给定应用程序的升级状态。

Get-ServiceFabricApplicationUpgrade -ApplicationName fabric:/your/awesomeApp

纯属巧合,我刚才在我们的集群上进行了升级运行,你得到并输出如下(我调整了一些名称参数等):

ApplicationName                         : fabric:/your/awesomeApp
ApplicationTypeName                     : YourAwesomeApp.FabricType
TargetApplicationTypeVersion            : 2017.1005.2-r20.1
ApplicationParameters                   : { "Param1" = "Value1";
                                          "Param2" = "Value2";
                                          "ActorService_MinReplicaSetSize" = "2";
                                          "ActorService_PartitionCount" = "1";
                                          "ActorService_TargetReplicaSetSize" = "3";
                                         }
StartTimestampUtc                       : 05.10.2017 08.49.39
UpgradeState                            : RollingForwardInProgress
UpgradeDuration                         : 00:09:01
CurrentUpgradeDomainDuration            : 00:00:00
NextUpgradeDomain                       : 4
UpgradeDomainsStatus                    : { "3" = "InProgress";
                                          "0" = "Completed";
                                          "1" = "Completed";
                                          "2" = "Completed";
                                          "4" = "Pending" }
UpgradeKind                             : Rolling
RollingUpgradeMode                      : Monitored
FailureAction                           : Rollback
ForceRestart                            : False
UpgradeReplicaSetCheckTimeout           : 49710.06:28:15
HealthCheckWaitDuration                 : 00:00:00
HealthCheckStableDuration               : 00:02:00
HealthCheckRetryTimeout                 : 00:10:00
UpgradeDomainTimeout                    : 00:30:00
UpgradeTimeout                          : 01:00:00
ConsiderWarningAsError                  :
MaxPercentUnhealthyPartitionsPerService :
MaxPercentUnhealthyReplicasPerPartition :
MaxPercentUnhealthyServices             :
MaxPercentUnhealthyDeployedApplications :
ServiceTypeHealthPolicyMap              :

如果处于回滚状态,这也会报告。

弄清楚您是否可以从健康监控中获得 callback/event 或其他信息可能会很有趣,因为这基本上是导致升级回滚的原因。