你当前正在访问 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 的应用程序。

类型:Uri
Position:0
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ApplicationParameter

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

类型:Hashtable
Position:2
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ApplicationTypeVersion

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

类型:String
Position:1
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Confirm

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

类型:SwitchParameter
别名:cf
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

-ConsiderWarningAsError

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

类型:Boolean
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-DefaultServiceTypeHealthPolicy

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

  • MaxPercentUnhealthyPartitionsPerService = 5
  • MaxPercentUnhealthyReplicasPerPartition = 10
  • MaxPercentUnhealthyServices = 15
类型:String
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-FailureAction

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

  • 反转
  • 手动
类型:UpgradeFailureAction
接受的值:Invalid, Rollback, Manual
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-Force

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ForceRestart

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

类型:SwitchParameter
Position:3
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HealthCheckRetryTimeoutSec

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

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HealthCheckStableDurationSec

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

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-HealthCheckWaitDurationSec

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

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-InstanceCloseDelayDurationSec

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

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-MaxPercentUnhealthyDeployedApplications

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

类型:Byte
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-Monitored

指示监视升级模式。 cmdlet 完成升级域的升级后,如果升级域的运行状况和群集满足定义的运行状况策略,Service Fabric 将升级下一个升级域。 如果升级域或群集无法满足运行状况策略,升级失败,Service Fabric 会回滚升级域的升级,或者根据指定的策略恢复为手动模式。 这是生产环境中应用程序升级的建议模式。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-ReplicaQuorumTimeoutSec

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

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

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-RestartProcess

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

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

类型:SwitchParameter
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-ServiceTypeHealthPolicyMap

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

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

类型:Hashtable
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-SortOrder

定义升级在群集中继续执行的顺序。

可能的值包括:

  • Invalid - 指示此排序顺序无效。 所有 Service Fabric 枚举都具有无效类型。
  • Default - 指示将使用默认排序顺序(如群集清单中指定的)。
  • Numeric - 指示将使用正向数值排序顺序(按数字排序的 UD 名称)。
  • Lexicographical - 指示将使用前列词法排序顺序(按字符串排序的 UD 名称)。
  • ReverseNumeric - 指示将使用反向数值排序顺序(按数字排序的 UD 名称)。
  • ReverseLexicographical- 指示将使用反向词典排序顺序(按字符串排序的 UD 名称)。
类型:UpgradeSortOrder
接受的值:Invalid, Default, Numeric, Lexicographical, ReverseNumeric, ReverseLexicographical
Position:5
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-TimeoutSec

指定操作的超时期限(以秒为单位)。

类型:Int32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UnmonitoredAuto

指示升级模式为未受监视的自动模式。 Service Fabric 升级升级域后,Service Fabric 会升级下一个升级域,而不考虑应用程序运行状况。 不建议将此模式用于生产,并且仅在应用程序开发期间有用。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-UnmonitoredManual

指示升级模式未受监视手动。 Service Fabric 升级升级域后,它会等待你使用 Resume-ServiceFabricApplicationUpgrade cmdlet 升级下一个升级域。

类型:SwitchParameter
Position:Named
默认值:None
必需:True
接受管道输入:False
接受通配符:False

-UpgradeDomainTimeoutSec

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

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UpgradeReplicaSetCheckTimeoutSec

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

类型:UInt32
Position:4
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-UpgradeTimeoutSec

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

类型:UInt32
Position:Named
默认值:None
必需:False
接受管道输入:False
接受通配符:False

-WhatIf

显示 cmdlet 运行时会发生什么情况。 cmdlet 未运行。

类型:SwitchParameter
别名:wi
Position:Named
默认值:False
必需:False
接受管道输入:False
接受通配符:False

输入

None

输出

System.Object