共用方式為


管理 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。

從 [進階] 選項 Azure 入口網站 中建立新叢集時,請在不同的可用波之間選擇

您也可以從現有叢集資源的 [Fabric 升級] 區段中切換可用的自動 Wave。

在叢集資源的 [網狀架構升級] 區段中,選取 Azure 入口網站 中的不同自動波浪

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 部署,只需新增/驗證設為 AutomaticClusterUpgradeMode,以及 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 值,這只是表示尚未設定到期日。

下一步