你当前正在访问 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-ServiceFabricService
InstanceCloseDelayDuration (。
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