如何停止失败且永不超时的Azure Service Fabric组合应用程序升级?
下面没有设置超时的升级详细信息。我知道应用程序的问题是什么(未指定注册表用户名/密码),但是我无法取消当前升级。
UPGRADE DETAILS
Name fabric:/planet
Type Name Compose_5
Target Application Type Version v7
Upgrade Domains
Name State
UD0 InProgress
UD1 Pending
UD2 Pending
Upgrade State RollingForwardInProgress
Next Upgrade Domain UD1
Rolling Upgrade Mode UnmonitoredAuto
Upgrade Description
Name fabric:/planet
Target Application Type Version v7
Upgrade Kind Rolling
Rolling Upgrade Mode UnmonitoredAuto
Upgrade Replica Set Check Timeout In Seconds 4294967295
Force Restart false
Monitoring Policy
Failure Action Manual
Health Check Wait Duration 0.00:00:00.0
Health Check Stable Duration 0.00:02:00.0
Health Check Retry Timeout 0.00:10:00.0
Upgrade Timeout Infinity
Upgrade Domain Timeout Infinity
Upgrade Duration 0.00:21:01.241.0700000000652
Upgrade Domain Duration 0.00:21:01.241.0700000000652
Current Upgrade Domain Progress
Domain Name UD0
Node Upgrade Progress List
Node Name Upgrade Phase Pending Safety Checks
CONTAINERHOST1 Upgrading (empty)
Start Timestamp Utc Fri, 03 Aug 2018 02:20:34 GMT
Failure Timestamp Utc N/A
Failure Reason None
答案 0 :(得分:3)
您可以通过在Service Fabric Powershell任务中调用Update-ServiceFabricApplicationUpgrade命令来更改正在运行的升级的升级域超时和升级超时。
Update-ServiceFabricApplicationUpgrade -ApplicationName fabric:/MyApp -UpgradeTimeoutSec 900 -UpgradeDomainTimeoutSec 700
答案 1 :(得分:2)
由于您已将故障模式设置为手动,因此群集将卡住,等待您的操作。
您可以尝试Start-ServiceFabricApplicationRollback或Resume-ServiceFabricApplicationUpgrade继续。
推荐的升级组合的方法是使用参数-Monitored -FailureAction Rollback
Start-ServiceFabricComposeDeploymentUpgrade -DeploymentName mydeployment -Compose docker-compose.yml -Monitored -FailureAction Rollback
-Monitored -FailureAction Rollback
除非预期将执行此手动干预,否则如果正确配置升级参数,Service Fabric应当自行处理。
修复这些设置可能会解决您的问题:
Rolling Upgrade Mode
设置为 UnmonitoredAuto ,它会自动执行升级和故障检查,但不会执行HealthCheck。考虑使用受监控的
Upgrade Domain Timeout
和 Upgrade Timeout
设置为 Infinity ,
他们应该设置一个超时时间,否则它将永远等待。
Failure Action
设置为 manual ,升级被暂停,以便您在执行任何进一步操作之前先调查部署。考虑改用 Rollback 。