Set-AzServiceFabricManagedClusterApplication
更新 Service Fabric 受控應用程式。 這允許更新應用程式參數和/或升級將觸發應用程式升級或其他僅限組態更新的應用程式類型版本。 僅支援 ARM 部署的應用程式。
語法
Set-AzServiceFabricManagedClusterApplication
[-ResourceGroupName] <String>
[-ClusterName] <String>
[-Name] <String>
[[-ApplicationTypeVersion] <String>]
[-ApplicationParameter <Hashtable>]
[-ForceRestart]
[-RecreateApplication]
[-UpgradeReplicaSetCheckTimeoutSec <Int32>]
[-InstanceCloseDelayDurationSec <Int32>]
[-UpgradeMode <ApplicationUpgradeMode>]
[-FailureAction <FailureAction>]
[-HealthCheckRetryTimeoutSec <Int32>]
[-HealthCheckWaitDurationSec <Int32>]
[-HealthCheckStableDurationSec <Int32>]
[-UpgradeDomainTimeoutSec <Int32>]
[-UpgradeTimeoutSec <Int32>]
[-ConsiderWarningAsError]
[-DefaultServiceTypeMaxPercentUnhealthyPartitionsPerService <Int32>]
[-DefaultServiceTypeMaxPercentUnhealthyReplicasPerPartition <Int32>]
[-DefaultServiceTypeUnhealthyServicesMaxPercent <Int32>]
[-UnhealthyDeployedApplicationsMaxPercent <Int32>]
[-ServiceTypeHealthPolicyMap <Hashtable>]
[-Tag <Hashtable>]
[-Force]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-AzServiceFabricManagedClusterApplication
[[-ApplicationTypeVersion] <String>]
[-ApplicationParameter <Hashtable>]
[-ForceRestart]
[-RecreateApplication]
[-UpgradeReplicaSetCheckTimeoutSec <Int32>]
[-InstanceCloseDelayDurationSec <Int32>]
[-UpgradeMode <ApplicationUpgradeMode>]
[-FailureAction <FailureAction>]
[-HealthCheckRetryTimeoutSec <Int32>]
[-HealthCheckWaitDurationSec <Int32>]
[-HealthCheckStableDurationSec <Int32>]
[-UpgradeDomainTimeoutSec <Int32>]
[-UpgradeTimeoutSec <Int32>]
[-ConsiderWarningAsError]
[-DefaultServiceTypeMaxPercentUnhealthyPartitionsPerService <Int32>]
[-DefaultServiceTypeMaxPercentUnhealthyReplicasPerPartition <Int32>]
[-DefaultServiceTypeUnhealthyServicesMaxPercent <Int32>]
[-UnhealthyDeployedApplicationsMaxPercent <Int32>]
[-ServiceTypeHealthPolicyMap <Hashtable>]
[-Tag <Hashtable>]
-ResourceId <String>
[-Force]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Set-AzServiceFabricManagedClusterApplication
[[-ApplicationTypeVersion] <String>]
[-ApplicationParameter <Hashtable>]
[-ForceRestart]
[-RecreateApplication]
[-UpgradeReplicaSetCheckTimeoutSec <Int32>]
[-InstanceCloseDelayDurationSec <Int32>]
[-UpgradeMode <ApplicationUpgradeMode>]
[-FailureAction <FailureAction>]
[-HealthCheckRetryTimeoutSec <Int32>]
[-HealthCheckWaitDurationSec <Int32>]
[-HealthCheckStableDurationSec <Int32>]
[-UpgradeDomainTimeoutSec <Int32>]
[-UpgradeTimeoutSec <Int32>]
[-ConsiderWarningAsError]
[-DefaultServiceTypeMaxPercentUnhealthyPartitionsPerService <Int32>]
[-DefaultServiceTypeMaxPercentUnhealthyReplicasPerPartition <Int32>]
[-DefaultServiceTypeUnhealthyServicesMaxPercent <Int32>]
[-UnhealthyDeployedApplicationsMaxPercent <Int32>]
[-ServiceTypeHealthPolicyMap <Hashtable>]
[-Tag <Hashtable>]
-InputObject <PSManagedApplication>
[-Force]
[-AsJob]
[-DefaultProfile <IAzureContextContainer>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
此 Cmdlet 可用來更新應用程式參數,以及升級應用程式類型版本,以及其他僅限組態更新。 更新 參數只會變更 ARM 端的模型,只有在使用新類型版本時,命令才會觸發應用程式升級。 指定的類型版本應該已在叢集中使用 new-AzServiceFabricManagedClusterApplicationTypeVersion 建立。
範例
範例 1
$resourceGroupName = "testRG"
$clusterName = "testCluster"
$appName = "testApp"
$version = "v2"
$packageUrl = "https://sftestapp.blob.core.windows.net/sftestapp/testAppType_v2.sfpkg"
New-AzServiceFabricManagedClusterApplicationTypeVersion -ResourceGroupName $resourceGroupName -ClusterName $clusterName -Name $appName -Version $version -PackageUrl $packageUrl -Verbose
Set-AzServiceFabricManagedClusterApplication -ResourceGroupName $resourceGroupName -ClusterName $clusterName -ApplicationTypeVersion $version -Name $appName -ApplicationParameter @{key0="value0";key1=$null;key2="value2"} -Tag @{tag0="updated"}
此範例會啟動受控應用程式升級,將類型版本更新為 “v2”,此版本是使用 new-AzServiceFabricManagedClusterApplicationTypeVersion所建立。 應用程式指令清單中應該定義所使用的應用程式參數。
範例 2
$resourceGroupName = "testRG"
$clusterName = "testCluster"
$appName = "testApp"
Set-AzServiceFabricManagedClusterApplication -ResourceGroupName $resourceGroupName -ClusterName $clusterName -Name $appName -FailureAction Rollback -ForceRestart:$false -Verbose
此範例會更新 FailureAction,並將 ForceRestart 設定為 false。
範例 3
$resourceGroupName = "testRG"
$clusterName = "testCluster"
$appName = "testApp"
$version = "v2"
$packageUrl = "https://sftestapp.blob.core.windows.net/sftestapp/testAppType_v2.sfpkg"
New-AzServiceFabricManagedClusterApplicationTypeVersion -ResourceGroupName $resourceGroupName -ClusterName $clusterName -Name $appName -Version $version -PackageUrl $packageUrl -Verbose
Set-AzServiceFabricManagedClusterApplication -ResourceGroupName $resourceGroupName -ClusterName $clusterName -ApplicationTypeVersion $version -Name $appName -ApplicationParameter @{key0="value0";key1=$null;key2="value2"} -HealthCheckStableDurationSec 0 -HealthCheckWaitDurationSec 0 -HealthCheckRetryTimeoutSec 0 -UpgradeDomainTimeoutSec 5000 -UpgradeTimeoutSec 7000 -FailureAction Rollback -UpgradeReplicaSetCheckTimeoutSec 300 -ForceRestart
此範例會啟動應用程式升級,將類型版本更新為 「v2」,並設定一些從目前升級生效的升級原則參數。
範例 4
Set-AzServiceFabricManagedClusterApplication -ResourceGroupName $resourceGroupName -ClusterName $clusterName -Name $appName -ApplicationParameter @{key0="value0";key1=$null;key2="value2"}
本範例會更新應用程式參數,但這些變更只會生效,直到下一個版本升級至應用程式為止。
參數
-ApplicationParameter
將應用程式參數指定為索引鍵/值組。 這些參數必須存在於應用程式指令清單中。
類型: | Hashtable |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ApplicationTypeVersion
指定應用程式類型版本
類型: | String |
Position: | 3 |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-AsJob
在背景執行 Cmdlet,並傳回作業以追蹤進度。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ClusterName
指定叢集的名稱。
類型: | String |
Position: | 1 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-Confirm
在執行 Cmdlet 之前,提示您進行確認。
類型: | SwitchParameter |
別名: | cf |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ConsiderWarningAsError
指出是否要在健康情況評估期間將警告健康情況事件視為錯誤事件。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultProfile
用於與 Azure 通訊的認證、帳戶、租用戶和訂用帳戶。
類型: | IAzureContextContainer |
別名: | AzContext, AzureRmContext, AzureCredential |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultServiceTypeMaxPercentUnhealthyPartitionsPerService
指定預設服務類型用於受監視升級之預設服務類型,每個服務允許之未連線分割區的最大百分比。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultServiceTypeMaxPercentUnhealthyReplicasPerPartition
指定預設服務類型用於受監視升級之預設服務類型,每個服務允許之未執行複本的最大百分比。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-DefaultServiceTypeUnhealthyServicesMaxPercent
指定預設服務類型用於受監視升級之健康狀態原則所允許之未連線服務的最大百分比。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-FailureAction
指定受監視升級失敗時要採取的動作。 此參數可接受的值為 Rollback 或 Manual。
類型: | FailureAction |
接受的值: | Rollback, Manual |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Force
在沒有提示的情況下繼續
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ForceRestart
表示即使升級是僅限設定的變更,服務主機仍會重新啟動。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-HealthCheckRetryTimeoutSec
指定持續時間,以秒為單位,之後 Service Fabric 會在先前的健康情況檢查失敗時重試健康情況檢查。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-HealthCheckStableDurationSec
指定 Service Fabric 等候的持續時間,以秒為單位,以確認應用程式在移至下一個升級網域或完成升級之前是否穩定。 此等候持續時間可防止在執行健康狀態檢查之後立即偵測到健康情況變更。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-HealthCheckWaitDurationSec
指定 Service Fabric 在升級網域完成升級之後,在執行初始健康狀態檢查之前等候的持續時間,以秒為單位。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-InputObject
受控應用程式資源。
類型: | PSManagedApplication |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-InstanceCloseDelayDurationSec
指定以秒為單位的持續時間,在無狀態實例關閉之前等候,以允許作用中要求正常清空。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Name
指定應用程式的名稱
類型: | String |
別名: | ApplicationName |
Position: | 2 |
預設值: | None |
必要: | True |
接受管線輸入: | False |
接受萬用字元: | False |
-RecreateApplication
判斷應用程式是否應該在更新時重新建立。 如果 value=true,則不允許其餘的升級原則參數。
類型: | SwitchParameter |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-ResourceGroupName
指定資源群組的名稱。
類型: | String |
Position: | 0 |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-ResourceId
受控應用程式的 Arm ResourceId。
類型: | String |
Position: | Named |
預設值: | None |
必要: | True |
接受管線輸入: | True |
接受萬用字元: | False |
-ServiceTypeHealthPolicyMap
指定用於不同服務類型之健康狀態原則的對應,做為下列格式的哈希表:@ {“ServiceTypeName” : “MaxPercentUnhealthyPartitionsPerService,MaxPercentUnhealthyReplicasPerPartition,MaxPercentUnhealthyServices”}。 例如:@{ “ServiceTypeName01” = “5,10,5”;“ServiceTypeName02” = “5,5,5” }
類型: | Hashtable |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-Tag
將標記指定為索引鍵/值組。
類型: | Hashtable |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | True |
接受萬用字元: | False |
-UnhealthyDeployedApplicationsMaxPercent
指定在叢集中節點上部署之應用程式實例的最大百分比,這些實例在叢集的應用程式健康情況狀態發生錯誤之前,其健康情況狀態為錯誤。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UpgradeDomainTimeoutSec
指定 Service Fabric 升級單一升級網域所花費的時間上限,以秒為單位。 在此期間之後,升級會失敗。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UpgradeMode
在滾動升級期間用來監視健康情況的模式。 值為 Monitored 和 UnmonitoredAuto。
類型: | ApplicationUpgradeMode |
接受的值: | Monitored, UnmonitoredAuto |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UpgradeReplicaSetCheckTimeoutSec
指定 Service Fabric 等候服務重新設定為安全狀態的最長時間,如果尚未處於安全狀態,Service Fabric 繼續進行升級。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-UpgradeTimeoutSec
指定 Service Fabric 針對整個升級所花費的時間上限,以秒為單位。 在此期間之後,升級會失敗。
類型: | Int32 |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |
-WhatIf
顯示 Cmdlet 執行時會發生什麼事。 Cmdlet 未執行。
類型: | SwitchParameter |
別名: | wi |
Position: | Named |
預設值: | None |
必要: | False |
接受管線輸入: | False |
接受萬用字元: | False |