管理 Service Fabric 受控叢集升級
Azure Service Fabric 叢集是您所擁有,但部分由 Microsoft 管理的資源。 以下是如何管理 Microsoft 更新 Azure Service Fabric 受控叢集執行階段的時機和方式。
設定升級模式
系統會預設 Azure Service Fabric 受控叢集,以接收 Microsoft 使用 Wave 部署策略發行的自動 Service Fabric 升級。 或者,您可以設定手動模式升級,從目前支援的版本清單中選擇。 您可以透過 Azure 入口網站中的 Fabric 升級控制項或叢集部署範本中的 ClusterUpgradeMode
設定來完成此設定。
自動升級的 Wave 部署
使用 Wave 部署時,您可以建立管線來依序升級測試、暫存和生產叢集,並依內建的「製作時間」作區隔,以在更新生產叢集之前驗證即將推出的 Service Fabric 版本。
注意
預設會將叢集設定為 Wave 0。
若要為自動升級選取 Wave 部署,請先判斷要指派叢集的 Wave:
- Wave 0 (
Wave0
):一有新的 Service Fabric 組建發行就更新叢集。 - Wave 1 (
Wave1
):在 Wave 0 之後更新叢集以允許用於製作的時間。 Wave 1 會在 Wave 0 之後的至少 7 天後發生。 - Wave 2 (
Wave2
) :最後更新叢集以允許進一步製作的時間。 Wave 2 會在 Wave 0 之後的至少 14 天後發生。
為您的叢集設定 Wave
您可以透過 Azure 入口網站中的 Fabric 升級控制項或叢集部署範本中的 ClusterUpgradeMode
設定,將叢集設定為其中一個可用的 Wave。
Azure 入口網站
使用 Azure 入口網站,您將可以在建立新的 Service Fabric 叢集時,選擇可用的自動 Wave。
您也可以從現有叢集資源的 [Fabric 升級] 區段中切換可用的自動 Wave。
Resource Manager 範本
若要使用 Resource Manager 範本變更叢集升級模式,請針對 Microsoft.ServiceFabric/clusters 資源定義的 ClusterUpgradeMode
屬性,指定 [自動] 或 [手動]。 如果您選擇手動升級,也請將 clusterCodeVersion
設定為目前支援的網狀架構版本。
手動升級
{
"apiVersion": "2021-05-01",
"type": "Microsoft.ServiceFabric/managedClusters",
"properties": {
"clusterUpgradeMode": "Manual",
"clusterCodeVersion": "8.0.514.9590"
}
}
成功部署範本之後,將會套用叢集升級模式的變更。 如果您的叢集處於手動模式,叢集升級將會自動啟動。
升級期間會遵守叢集健康狀態原則 (綜合節點健康狀態和所有在叢集中執行之應用程式的健康狀態)。 如果不符合叢集健康狀態原則,則升級會復原。
如果發生復原,您將需要修正導致復原的問題,並遵循與之前相同的步驟再次起始升級。
自動升級與 Wave 部署
若要設定自動升級和 Wave 部署,只需新增/驗證設為 Automatic
的 ClusterUpgradeMode
,以及 clusterUpgradeCadence
屬性已使用 Resource Manager 範本中的上述其中一個 Wave 值來定義。
{
"apiVersion": "2021-05-01",
"type": "Microsoft.ServiceFabric/managedClusters",
"properties": {
"clusterUpgradeMode": "Automatic",
"clusterUpgradeCadence": "Wave1"
}
}
當您部署更新的範本之後,您的叢集將會在指定的 Wave 中註冊以進行自動升級。
查詢支援的叢集版本
您可以使用 Azure REST API 來列出指定位置和您訂用帳戶的所有可用 Service Fabric 執行階段版本 (clusterVersions)。
您也可以參考 Service Fabric 版本,以取得支援的版本和作業系統的進一步詳細資料。
GET https://<endpoint>/subscriptions/{{subscriptionId}}/providers/Microsoft.ServiceFabric/locations/{{location}}/managedclusterVersions?api-version=2021-05-01
"value": [
{
"id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/locations/eastus2/environments/Windows/managedClusterVersions/7.2.477.9590",
"name": "7.2.477.9590",
"type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions",
"properties": {
"supportExpiryUtc": "2021-11-30T00:00:00",
"osType": "Windows",
"clusterCodeVersion": "7.2.477.9590"
}
},
{
"id": "subscriptions/########-####-####-####-############/providers/Microsoft.ServiceFabric/locations/eastus2/environments/Windows/managedClusterVersions/8.0.514.9590",
"name": "8.0.514.9590",
"type": "Microsoft.ServiceFabric/locations/environments/managedClusterVersions",
"properties": {
"supportExpiryUtc": "9999-12-31T23:59:59.9999999",
"osType": "Windows",
"clusterCodeVersion": "8.0.514.9590"
}
}
]
supportExpiryUtc
輸出會報告指定版本即將到期或已過期。 最新版本並無有效日期,但有 9999-12-31T23:59:59.9999999 值,這只是表示尚未設定到期日。