共用方式為


Update-ServiceFabricClusterUpgrade

修改使用中叢集升級的升級描述。

語法

Update-ServiceFabricClusterUpgrade
      [-ForceRestart <Boolean>]
      [-UpgradeReplicaSetCheckTimeoutSec <UInt32>]
      [-UpgradeMode <RollingUpgradeMode>]
      [-FailureAction <UpgradeFailureAction>]
      [-HealthCheckRetryTimeoutSec <UInt32>]
      [-HealthCheckWaitDurationSec <UInt32>]
      [-HealthCheckStableDurationSec <UInt32>]
      [-UpgradeDomainTimeoutSec <UInt32>]
      [-UpgradeTimeoutSec <UInt32>]
      [-ConsiderWarningAsError <Boolean>]
      [-MaxPercentUnhealthyApplications <Byte>]
      [-MaxPercentUnhealthyNodes <Byte>]
      [-ApplicationTypeHealthPolicyMap <ApplicationTypeHealthPolicyMap>]
      [-EnableDeltaHealthEvaluation <Boolean>]
      [-MaxPercentDeltaUnhealthyNodes <Byte>]
      [-MaxPercentUpgradeDomainDeltaUnhealthyNodes <Byte>]
      [-Force]
      [-ApplicationHealthPolicyMap <ApplicationHealthPolicyMap>]
      [-InstanceCloseDelayDurationSec <UInt32>]
      [-NodeTypeHealthPolicyMap <NodeTypeHealthPolicyMap>]
      [-TimeoutSec <Int32>]
      [-WhatIf]
      [-Confirm]
      [<CommonParameters>]

Description

Update-ServiceFabricClusterUpgrade Cmdlet 會在升級仍在使用中時修改叢集升級描述的參數。 Service Fabric 會根據叢集資訊清單中指定的 FabricUpgradeStatusPollInterval 值來偵測並套用變更。 除了健康情況評估原則之外,此 Cmdlet 只會更新您指定的參數。 未指定的參數不會受到影響。 您必須將下列健康情況評估原則一起更新,而不是個別更新:

  • ConsiderWarningAsError
  • MaxPercentUnhealthyApplications
  • MaxPercentUnhealthyNodes

若要管理 Service Fabric 叢集,請使用 [以系統管理員身分執行] 選項啟動Windows PowerShell。 在 Service Fabric 叢集上執行任何作業之前,請先使用 Connect-ServiceFabricCluster Cmdlet 建立叢集的連線。

範例

範例 1:更新叢集升級的值

PS C:\> Update-ServiceFabricClusterUpgrade -UpgradeReplicaSetCheckTimeoutSec 0

此命令會將暫止叢集升級的複本集簽出逾時期限設定為 0。 更新會單獨保留所有其他升級值。

範例 2:更新叢集升級的健康情況原則

PS C:\> $svcType = New-Object -TypeName System.Fabric.Health.ServiceTypeHealthPolicy
PS C:\> $svcType.MaxPercentUnhealthyPartitionsPerService = 100
PS C:\> $systemAppPolicy = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicy
PS C:\> $systemAppPolicy.DefaultServiceTypeHealthPolicy = $svcType
PS C:\> $appHealthPolicyMap = New-Object -TypeName System.Fabric.Health.ApplicationHealthPolicyMap
PS C:\> $appHealthPolicyMap.Add("fabric:/System", $systemAppPolicy)

PS C:\> $AppTypeHealthPolicyMap = New-Object -TypeName "System.Fabric.Health.ApplicationTypeHealthPolicyMap"
PS C:\> $AppTypeHealthPolicyMap.Add("CriticalAppType", 0)

PS C:\> Update-ServiceFabricClusterUpgrade -ApplicationTypeHealthPolicyMap $AppTypeHealthPolicyMap -Force -MaxPercentUnhealthyApplications 20 -ApplicationHealthPolicyMap $appHealthPolicyMap

此命令會變更叢集升級叢集健全狀況原則。 它會指定應用程式類型健全狀況原則對應,其中包含無法容許任何失敗的應用程式類型 CriticalAppType。 其餘的應用程式會使用狀況不良百分比上限 20% 進行評估。

此命令也會更新用來評估 fabric:/System 應用程式作為叢集升級健康情況評估一部分的應用程式健康情況原則。 新的原則可容許所有分割區錯誤。

參數

-ApplicationHealthPolicyMap

指定 System.Fabric.Health.ApplicationHealthPolicyMap ,其中包含部分或所有應用程式的自訂健康情況原則。 如果您未指定此參數,或如果您未在應用程式的對應中包含專案,則會使用應用程式資訊清單中定義的應用程式健康狀態原則來評估該應用程式,否則為預設原則。

類型:ApplicationHealthPolicyMap
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ApplicationTypeHealthPolicyMap

指定對應,定義每個應用程式類型允許之狀況不良應用程式的最大百分比。 此對應中的應用程式類型是使用特定百分比來評估,而不是全域 MaxPercentUnhealthyApplications 百分比。

例如,如果某個類型的某些應用程式非常重要,叢集系統管理員可以針對該應用程式類型將項目新增至對應,並且為它指派 0% 的值 (也就是不容忍任何失敗)。 所有其他應用程式都可以使用 MaxPercentUnhealthyApplications 設定為 20% 來評估,以容許數千個應用程式實例中的某些失敗。

只有在叢集資訊清單使用 HealthManager/EnableApplicationTypeHealthEvaluation的組態專案啟用應用程式類型健康情況評估時,才會使用應用程式類型健康狀態原則對應。

類型:ApplicationTypeHealthPolicyMap
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Confirm

在執行 Cmdlet 前提示您確認。

類型:SwitchParameter
別名:cf
Position:Named
預設值:False
必要:False
接受管線輸入:False
接受萬用字元:False

-ConsiderWarningAsError

指出是否要在健康情況評估期間將警告健康情況報告視為錯誤。

類型:Boolean
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-EnableDeltaHealthEvaluation

指出是否要在受監視升級的健全狀況評估期間啟用差異健康情況檢查。 如果您指定$True值,Service Fabric 會在升級開始時擷取健康情況的快照集。 在每個升級網域完成升級之後,健康情況檢查會比較叢集與快照集的目前狀態。 如果健康情況降低不符合目前叢集升級健康情況原則的最大允許百分比,健康情況檢查就會失敗。

類型:Boolean
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-FailureAction

指定受監視升級失敗時要採取的動作。 此參數可接受的值為:

  • 復原
  • 手動。
類型:UpgradeFailureAction
接受的值:Invalid, Rollback, Manual
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-Force

表示此 Cmdlet 會略過警告訊息,並強制更新。

類型:SwitchParameter
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-ForceRestart

指出即使只有動態設定已變更,還是要重新開機 Service Fabric 節點。

類型:Boolean
Position:Named
預設值: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

類型:UInt32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MaxPercentDeltaUnhealthyNodes

指定差異狀況不良節點的最大容許百分比,這些節點可能具有匯總的健康情況狀態錯誤。 如果目前的狀況不良節點未遵守與升級開始時狀態相對的百分比,叢集狀況不良。

類型:Byte
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MaxPercentUnhealthyApplications

指定可具有匯總健全狀況狀態錯誤之應用程式的最大容許百分比。 如果升級超過此百分比,叢集狀況不良。

類型:Byte
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MaxPercentUnhealthyNodes

指定可具有錯誤匯總健全狀況狀態的節點最大容許百分比。 如果升級超過此百分比,叢集狀況不良。

類型:Byte
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-MaxPercentUpgradeDomainDeltaUnhealthyNodes

指定升級網域差異狀況不良節點的最大容許百分比,這些節點可能具有匯總的健康情況狀態錯誤。 如果有任何升級網域,目前的狀況不良節點不會遵守相對於升級開始時狀態的百分比,則叢集狀況不良。

類型:Byte
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-NodeTypeHealthPolicyMap

針對特定節點類型,定義具有最大百分比狀況不良節點的對應。

節點類型的健康狀態原則對應,可用於在叢集健康狀態評估期間描述特殊的節點類型。 對應中包含的節點類型會根據對應中包含的百分比進行評估,而且全域 (請參閱 System.Fabric.Health.ClusterHealthPolicy.MaxPercentUnhealthyNodes) 。 對應中指定的節點類型節點也會計入節點的全域集區;它們是獨立的檢查。

類型:NodeTypeHealthPolicyMap
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-TimeoutSec

指定作業的逾時期間,以秒為單位。

類型:Int32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UpgradeDomainTimeoutSec

指定 Service Fabric 升級單一升級網域所需的時間上限,以秒為單位。 在此期間之後,升級會失敗。

類型:UInt32
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UpgradeMode

指定升級的新 UpgradeMode

類型:RollingUpgradeMode
接受的值:Invalid, UnmonitoredAuto, UnmonitoredManual, Monitored
Position:Named
預設值:None
必要:False
接受管線輸入:False
接受萬用字元:False

-UpgradeReplicaSetCheckTimeoutSec

指定 Service Fabric 等候複本集重新設定為安全狀態的最大時間,以秒為單位,如果 Service Fabric 繼續升級之前尚未處於安全狀態。

類型:UInt32
Position:Named
預設值: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