Start-ServiceFabricApplicationUpgrade

Service Fabric 애플리케이션을 지정된 ApplicationTypeVersion으로 업그레이드합니다.

Syntax

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>]

Description

Start-ServiceFabricApplicationUpgrade cmdlet은 Service Fabric 애플리케이션을 업그레이드합니다. 이 cmdlet을 사용하기 전에 업데이트된 애플리케이션 패키지를 이미지 저장소에 복사하고 업데이트된 애플리케이션 유형을 등록해야 합니다. Copy-ServiceFabricApplicationPackage를 사용하여 애플리케이션 패키지를 이미지 저장소에 복사합니다. Register-ServiceFabricApplicationType cmdlet을 사용하여 업데이트된 애플리케이션 유형을 등록합니다.

이 cmdlet은 클러스터에서 업그레이드를 시작합니다.

ApplicationParameters 는 애플리케이션 업그레이드에서 유지되지 않습니다. 현재 애플리케이션 매개 변수를 유지하려면 사용자가 먼저 매개 변수를 가져와서 아래 예제 1 과 같이 업그레이드 API 호출에 전달해야 합니다.

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(Uniform Resource Identifier)를 지정합니다. 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에 대해 0이 아닌 값을 구성하고 미리 구성된 값을 재정의하는 상태 비저장 서비스의 인스턴스에만 적용됩니다. 자세한 내용은 InstanceCloseDelayDuration (in New-ServiceFabricService)을 참조하세요.

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이 업그레이드를 진행하기 전에 서비스가 안전한 상태로 다시 구성될 때까지 대기하는 최대 시간을 지정합니다(아직 안전한 상태가 아닌 경우).

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