다음을 통해 공유


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

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가 있는 애플리케이션을 업그레이드합니다.

형식:Uri
Position:0
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ApplicationParameter

애플리케이션 매개 변수에 대한 재정의를 이름/값 쌍으로 지정합니다.

형식:Hashtable
Position:2
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ApplicationTypeVersion

Service Fabric 애플리케이션 유형의 버전을 지정합니다. cmdlet은 애플리케이션을 지정한 버전으로 업그레이드합니다.

형식:String
Position:1
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Confirm

cmdlet을 실행하기 전에 확인 메시지를 표시합니다.

형식:SwitchParameter
별칭:cf
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ConsiderWarningAsError

상태 평가 중에 경고 상태 이벤트를 오류 이벤트로 처리할지 여부를 나타냅니다.

형식:Boolean
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-DefaultServiceTypeHealthPolicy

모니터링되는 업그레이드에 사용할 기본 서비스 유형의 상태 정책을 MaxPercentUnhealthyPartitionsPerService, MaxPercentUnhealthyReplicasPerPartition, MaxPercentUnhealthyServices 형식으로 지정합니다. 예를 들어 5,10,15는 다음 값을 나타냅니다.

  • MaxPercentUnhealthyPartitionsPerService = 5
  • MaxPercentUnhealthyReplicasPerPartition = 10
  • MaxPercentUnhealthyServices = 15
형식:String
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-FailureAction

모니터링되는 업그레이드가 실패할 경우 수행할 작업을 지정합니다. 이 매개 변수에 허용되는 값은 다음과 같습니다.

  • 롤백
  • 수동
형식:UpgradeFailureAction
허용되는 값:Invalid, Rollback, Manual
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Force

이 cmdlet이 경고 메시지를 건너뛰고 강제로 업그레이드를 수행했음을 나타냅니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ForceRestart

업그레이드가 구성 전용 변경인 경우에도 서비스 호스트가 다시 시작되었음을 나타냅니다.

형식:SwitchParameter
Position:3
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HealthCheckRetryTimeoutSec

서비스 패브릭이 이전 상태 검사가 실패할 경우 상태 검사를 다시 시도한 기간(초)을 지정합니다.

형식:UInt32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HealthCheckStableDurationSec

Service Fabric이 다음 업그레이드 도메인으로 이동하거나 업그레이드를 완료하기 전에 애플리케이션이 안정적인지 확인하기 위해 대기하는 기간(초)을 지정합니다. 이 대기 기간은 상태 검사가 수행된 직후에 감지되지 않은 상태 변경을 방지합니다.

형식:UInt32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-HealthCheckWaitDurationSec

Service Fabric이 업그레이드 도메인에서 업그레이드를 완료한 후 초기 상태 검사를 수행하기 전에 대기하는 기간(초)을 지정합니다.

형식:UInt32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-InstanceCloseDelayDurationSec

애플리케이션 업그레이드의 영향을 받는 상태 비스테이션 인스턴스가 닫히기 전에 대기하는 기간(초)을 지정하여 활성 요청이 정상적으로 드레이닝되도록 합니다. 이 대기 기간은 InstanceCloseDelayDuration에 대해 0이 아닌 값이 구성된 상태 비저장 서비스의 인스턴스에만 적용되며 미리 구성된 값을 재정의합니다. 자세한 내용은 InstanceCloseDelayDuration (New-ServiceFabricService)를 참조하세요.

형식:UInt32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-MaxPercentUnhealthyDeployedApplications

클러스터의 애플리케이션 상태가 오류로 표시되기 전에 상태 오류가 있는 클러스터의 노드에 배포된 애플리케이션 인스턴스의 최대 비율을 지정합니다.

형식:Byte
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-Monitored

업그레이드 모드가 모니터링됨을 나타냅니다. cmdlet이 업그레이드 도메인에 대한 업그레이드를 완료한 후 업그레이드 도메인 및 클러스터의 상태가 정의한 상태 정책을 충족하는 경우 Service Fabric은 다음 업그레이드 도메인을 업그레이드합니다. 업그레이드 도메인 또는 클러스터가 상태 정책을 충족하지 못하면 업그레이드가 실패하고 Service Fabric이 업그레이드 도메인에 대한 업그레이드를 롤백하거나 지정된 정책에 따라 수동 모드로 되돌려 줍니다. 프로덕션 환경에서 애플리케이션 업그레이드에 권장되는 모드입니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ReplicaQuorumTimeoutSec

복제본 집합에 쿼럼이 있는지 여부를 확인하기 위한 제한 시간(초)을 지정합니다. 제한 시간이 지나면 업그레이드가 진행됩니다.

이 매개 변수는 더 이상 사용되지 않습니다. 대신 UpgradeReplicaSetCheckTimeoutSec 매개 변수를 지정합니다.

형식:UInt32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-RestartProcess

서비스 호스트가 업그레이드의 일부로 다시 시작됨을 나타냅니다.

이 매개 변수는 더 이상 사용되지 않습니다. 대신 ForceRestart 매개 변수를 지정합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-ServiceTypeHealthPolicyMap

다양한 서비스 유형에 사용할 상태 정책의 맵을 해시 테이블로 지정합니다. @ {"ServiceTypeName" : "MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices"}. 예를 들어:

@{ "ServiceTypeName01" = "5,10,5"; "ServiceTypeName02" = "5,5,5" }

형식:Hashtable
Position:Named
Default value: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
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-TimeoutSec

작업의 제한 시간(초)을 지정합니다.

형식:Int32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-UnmonitoredAuto

업그레이드 모드가 자동으로 모니터링되지 않음을 나타냅니다. Service Fabric이 업그레이드 도메인을 업그레이드한 후 Service Fabric은 애플리케이션 상태에 관계없이 다음 업그레이드 도메인을 업그레이드합니다. 이 모드는 프로덕션에 권장되지 않으며 애플리케이션을 개발하는 동안에만 유용합니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-UnmonitoredManual

업그레이드 모드가 모니터링되지 않는 수동임을 나타냅니다. Service Fabric은 업그레이드 도메인을 업그레이드한 후 Resume-ServiceFabricApplicationUpgrade cmdlet을 사용하여 다음 업그레이드 도메인을 업그레이드할 때까지 기다립니다.

형식:SwitchParameter
Position:Named
Default value:None
필수:True
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-UpgradeDomainTimeoutSec

Service Fabric이 단일 업그레이드 도메인을 업그레이드하는 데 걸리는 최대 시간(초)을 지정합니다. 이 기간이 지나면 업그레이드가 실패합니다.

형식:UInt32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-UpgradeReplicaSetCheckTimeoutSec

Service Fabric이 업그레이드를 진행하기 전에 서비스가 안전한 상태로 다시 구성되기를 기다리는 최대 시간을 지정합니다(아직 안전한 상태가 아닌 경우).

형식:UInt32
Position:4
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-UpgradeTimeoutSec

Service Fabric이 전체 업그레이드에 걸리는 최대 시간(초)을 지정합니다. 이 기간이 지나면 업그레이드가 실패합니다.

형식:UInt32
Position:Named
Default value:None
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

-WhatIf

cmdlet이 실행되면 어떻게 되는지 보여 주세요. cmdlet이 실행되지 않습니다.

형식:SwitchParameter
별칭:wi
Position:Named
Default value:False
필수:False
파이프라인 입력 허용:False
와일드카드 문자 허용:False

입력

None

출력

System.Object