代码之家  ›  专栏  ›  技术社区  ›  Gregory Suvalian

如何停止服务结构应用程序升级?

  •  1
  • Gregory Suvalian  · 技术社区  · 7 年前

    如何停止失败且从不超时的Azure服务结构组合应用程序升级?

    下面没有设置超时的升级详细信息。我知道应用程序的问题是什么(没有指定注册表用户名/密码),但我无法取消当前升级。

    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
    
    2 回复  |  直到 6 年前
        1
  •  2
  •   Diego Mendes    7 年前

    因为您已将故障模式设置为手动,所以群集将在等待您的操作时卡住。

    您可以尝试启动ServiceFabricApplicationRollback或恢复ServiceFabricApplicationUpgrade以继续。

    升级compose的推荐方法是使用 -Monitored -FailureAction Rollback

    Start-ServiceFabricComposeDeploymentUpgrade -DeploymentName mydeployment -Compose docker-compose.yml -Monitored -FailureAction Rollback
    -Monitored -FailureAction Rollback
    

    除非预期它会执行此手动干预,否则如果升级参数配置正确,服务结构应自行处理。

    修复这些设置可能会解决你的问题:

    Rolling Upgrade Mode 设置为 不监督 ,它自动执行升级和故障检查,但不执行运行状况检查。考虑使用 监控

    Upgrade Domain Timeout Upgrade Timeout 设置为 无穷 , 他们应该有一个超时设置,否则它将永远等待。

    Failure Action 设置为 手册 ,正在挂起升级,以便在采取任何进一步操作之前调查部署。考虑使用 回降 相反。

    您可能还需要配置其他参数。要了解这些参数,请查看 here here . 对于合成部署,请选中 this :

        2
  •  3
  •   saad    7 年前

    您可以通过调用 Update-ServiceFabricApplicationUpgrade 服务结构Powershell任务中的命令。

    Update-ServiceFabricApplicationUpgrade -ApplicationName fabric:/MyApp -UpgradeTimeoutSec 900 -UpgradeDomainTimeoutSec 700