你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

Start-ServiceFabricApplicationUpgrade

将 Service Fabric 应用程序升级到指定的 ApplicationTypeVersion。

语法

Start-ServiceFabricApplicationUpgrade
     [-ApplicationName] <Uri>
     [-ApplicationTypeVersion] <String>
     [[-ApplicationParameter] <Hashtable>]
     [-ForceRestart]
     [[-UpgradeReplicaSetCheckTimeoutSec] <UInt32>]
     [[-SortOrder] <UpgradeSortOrder>]
     [-ReplicaQuorumTimeoutSec <UInt32>]
     [-RestartProcess]
     [-InstanceCloseDelayDurationSec <UInt32>]
     [-UnmonitoredAuto]
     [-Force]
     [-TimeoutSec <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-ServiceFabricApplicationUpgrade
     [-ApplicationName] <Uri>
     [-ApplicationTypeVersion] <String>
     [[-ApplicationParameter] <Hashtable>]
     [-ForceRestart]
     [[-UpgradeReplicaSetCheckTimeoutSec] <UInt32>]
     [[-SortOrder] <UpgradeSortOrder>]
     [-ReplicaQuorumTimeoutSec <UInt32>]
     [-RestartProcess]
     [-InstanceCloseDelayDurationSec <UInt32>]
     [-UnmonitoredManual]
     [-Force]
     [-TimeoutSec <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]
Start-ServiceFabricApplicationUpgrade
     [-ApplicationName] <Uri>
     [-ApplicationTypeVersion] <String>
     [[-ApplicationParameter] <Hashtable>]
     [-ForceRestart]
     [[-UpgradeReplicaSetCheckTimeoutSec] <UInt32>]
     [[-SortOrder] <UpgradeSortOrder>]
     [-ReplicaQuorumTimeoutSec <UInt32>]
     [-RestartProcess]
     [-InstanceCloseDelayDurationSec <UInt32>]
     [-Monitored]
     -FailureAction <UpgradeFailureAction>
     [-HealthCheckRetryTimeoutSec <UInt32>]
     [-HealthCheckWaitDurationSec <UInt32>]
     [-HealthCheckStableDurationSec <UInt32>]
     [-UpgradeDomainTimeoutSec <UInt32>]
     [-UpgradeTimeoutSec <UInt32>]
     [-ConsiderWarningAsError <Boolean>]
     [-DefaultServiceTypeHealthPolicy <String>]
     [-MaxPercentUnhealthyDeployedApplications <Byte>]
     [-ServiceTypeHealthPolicyMap <Hashtable>]
     [-Force]
     [-TimeoutSec <Int32>]
     [-WhatIf]
     [-Confirm]
     [<CommonParameters>]

说明

Start-ServiceFabricApplicationUpgrade cmdlet 升级 Service Fabric 应用程序。 使用此 cmdlet 之前,需要将更新的应用程序包复制到映像存储并注册更新的应用程序类型。 使用 Copy-ServiceFabricApplicationPackage 将应用程序包复制到映像存储。 使用 Register-ServiceFabricApplicationType cmdlet 注册更新的应用程序类型。

此 cmdlet 在群集上启动升级。

应用程序升级不会保留 ApplicationParameters。 为了保留当前应用程序参数,用户应先获取参数并将其传递到升级 API 调用中,如以下示例 1 所示。

有关 Service Fabric 应用程序升级的详细信息,请参阅 概念文档

在 Service Fabric 群集上执行任何操作之前,请使用 Connect-ServiceFabricCluster cmdlet 建立与群集的连接。

示例

示例 1:获取要传入升级调用的应用程序参数

$myApplication = Get-ServiceFabricApplication -ApplicationName fabric:/myApplication
$appParamCollection = $myApplication.ApplicationParameters
$applicationParameterMap = @{}

foreach ($pair in $appParamCollection)
{ $applicationParameterMap.Add($pair.Name, $pair.Value); }

Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/myApplication -ApplicationTypeVersion 2.0.0 -ApplicationParameter $applicationParameterMap -Monitored -FailureAction Rollback

示例 2:升级应用程序

PS C:\> Copy-ServiceFabricApplicationPackage -ApplicationPackagePath "C:\PersistentToDoListServiceV2" -ImageStoreConnectionString "file:C:\ProgramData\ServiceFabric\ImageStore"
PS C:\> Register-ServiceFabricApplicationType -ApplicationPathInImageStore "PersistentToDoListServiceV2"
PS C:\> Start-ServiceFabricApplicationUpgrade -ApplicationName fabric:/myapp/persistenttodolist -ApplicationTypeVersion "2.0" -ForceRestart -UnMonitoredManual

第一个命令使用 Copy-ServiceFabricApplicationPackage cmdlet 将更新的应用程序包复制到映像存储。

第二个命令使用 Register-ServiceFabricApplicationType cmdlet 注册更新的应用程序类型。

第三个命令升级应用程序。 该命令执行不受监视的手动升级,其中包括托管应用程序的服务器的重启。

参数

-ApplicationName

指定 Service Fabric 应用程序的统一资源标识符 (URI) 。 该 cmdlet 升级具有指定的 URI 的应用程序。

Type:Uri
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationParameter

将应用程序参数的替代指定为名称/值对。

Type:Hashtable
Position:2
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ApplicationTypeVersion

指定 Service Fabric 应用程序类型的版本。 cmdlet 会将应用程序升级到指定的版本。

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

提示你在运行 cmdlet 之前进行确认。

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ConsiderWarningAsError

指示是否在运行状况评估期间将警告运行状况事件视为错误事件。

Type:Boolean
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DefaultServiceTypeHealthPolicy

以 MaxPercentUnhealthyPartitionsPerService、MaxPercentUnhealthyReplicasPerPartition、MaxPercentUnhealthyServices 格式指定用于受监视升级的默认服务类型的运行状况策略。 例如,5,10,15 指示以下值:

  • MaxPercentUnhealthyPartitionsPerService = 5
  • MaxPercentUnhealthyReplicasPerPartition = 10
  • MaxPercentUnhealthyServices = 15
Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-FailureAction

指定监视升级失败时要执行的操作。 此参数的可接受值为:

  • 回退
  • 手动
Type:UpgradeFailureAction
Accepted values:Invalid, Rollback, Manual
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Force

指示此 cmdlet 跳过警告消息并强制升级。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ForceRestart

指示即使升级是仅配置更改,服务主机也会重启。

Type:SwitchParameter
Position:3
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HealthCheckRetryTimeoutSec

指定持续时间(以秒为单位),之后 Service Fabric 会重试运行状况检查(如果以前的运行状况检查失败)。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HealthCheckStableDurationSec

指定 Service Fabric 等待的持续时间(以秒为单位)以验证应用程序在移动到下一个升级域或完成升级之前是否稳定。 此等待持续时间可防止在执行运行状况检查后立即检测到运行状况更改。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-HealthCheckWaitDurationSec

指定 Service Fabric 在升级域完成升级后执行初始运行状况检查之前等待的持续时间(以秒为单位)。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InstanceCloseDelayDurationSec

指定持续时间(以秒为单位),等待应用程序升级影响的无状态实例关闭,以允许活动请求正常耗尽。 此等待持续时间仅适用于为 InstanceCloseDelayDuration 配置了非零值的无状态服务的实例,并且将覆盖预配置的值。 有关详细信息,请参阅) 中的 New-ServiceFabricServiceInstanceCloseDelayDuration (。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-MaxPercentUnhealthyDeployedApplications

指定在群集中的节点上部署的应用程序实例的最大百分比,这些实例在群集的应用程序运行状况状态为错误之前处于错误状态。

Type:Byte
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Monitored

指示升级模式为“受监视”。 在 cmdlet 完成某个升级域的升级以后,如果该升级域和群集的运行状况符合定义的运行状况策略,则 Service Fabric 会升级下一个升级域。 如果升级域或群集不满足运行状况策略,则升级失败,Service Fabric 会回退升级域的升级,或者会按指定策略回复到手动模式。 这是建议用于生产环境的应用程序升级模式。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-ReplicaQuorumTimeoutSec

指定超时期限(以秒为单位)以检查副本集是否具有仲裁。 超时期限过后,升级会继续。

此参数已弃用。 请改为指定 UpgradeReplicaSetCheckTimeoutSec 参数。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-RestartProcess

指示服务主机在升级过程中重新启动。

此参数已弃用。 请改为指定 ForceRestart 参数。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ServiceTypeHealthPolicyMap

指定用于不同服务类型的运行状况策略映射,格式如下:@ {“ServiceTypeName” : “MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices”}。 例如:

@{ “ServiceTypeName01” = “5,10,5”;“ServiceTypeName02” = “5,5,5” }

Type:Hashtable
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-SortOrder

定义升级通过群集执行的顺序。

可能的值包括:

  • Invalid - 指示此排序顺序无效。 所有 Service Fabric 枚举都具有无效类型。
  • Default - 指示将使用群集清单) 中指定的默认排序顺序 (。
  • Numeric - 指示将使用) 排序的 UD 名称 (正向数值排序顺序。
  • Lexicographical - 指示将使用) 将按字符串排序的 UD 名称 (向前词法排序顺序。
  • ReverseNumeric - 指示将使用以数字) 排序的 UD 名称 (反向数值排序顺序。
  • ReverseLexicographical- 指示将使用以字符串) 排序的 UD 名称 (反向词典排序顺序。
Type:UpgradeSortOrder
Accepted values:Invalid, Default, Numeric, Lexicographical, ReverseNumeric, ReverseLexicographical
Position:5
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-TimeoutSec

指定操作的超时时间段(以秒为单位)。

Type:Int32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UnmonitoredAuto

指示升级模式为“不受监视的自动”。 Service Fabric 在升级某个升级域以后,就会直接升级下一个升级域,而不管应用程序运行状况如何。 不建议将此模式用于生产环境,它只适用于应用程序开发阶段。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UnmonitoredManual

指示升级模式为“不受监视的手动”。 Service Fabric 在升级某个升级域以后,会等待你使用 Resume-ServiceFabricApplicationUpgrade cmdlet 升级下一个升级域。

Type:SwitchParameter
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-UpgradeDomainTimeoutSec

指定 Service Fabric 升级单个升级域所需的时间(以秒为单位)。 在此时间段后,升级失败。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UpgradeReplicaSetCheckTimeoutSec

指定 Service Fabric 等待服务重新配置为安全状态(如果尚未处于安全状态)的最长时间,然后 Service Fabric 继续升级。

Type:UInt32
Position:4
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UpgradeTimeoutSec

指定 Service Fabric 整个升级所花费的最大时间(以秒为单位)。 在此时间段后,升级失败。

Type:UInt32
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

显示在此 cmdlet 运行的情况下将会发生什么。 此 cmdlet 未运行。

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

输入

None

输出

System.Object