共用方式為


部署具有無狀態節點類型的 Service Fabric 受控叢集

Service Fabric 節點類型採用既有的假設,這些節點可能會在某個時間點放置具狀態服務。 無狀態節點類型則會變更節點類型的這項假設。 這可讓節點類型受益於更快速的擴增作業、支援自動 OS 升級、現成 VM,以及在節點類型中擴增至超過 100 個節點等功能。

  • 主要節點類型無法設定為無狀態。
  • 無狀態節點類型需要 2021-05-01 或更新 API 版本。
  • 這會自動將 multipleplacementgroup 屬性設為 true,您可於此處深入瞭解
  • 這最多可支援指定節點類型的 1000 個節點。
  • 無狀態節點類型可以利用 VM SKU 暫存磁碟。

在 Service Fabric 受控叢集中啟用無狀態節點類型

若要在節點類型資源中將一或多個節點類型設為無狀態,請將 isStateless 屬性設為 true。 部署具有無狀態節點類型的 Service Fabric 叢集時,該叢集至少必須有一個不是無狀態的主要節點類型。

可用的範例範本:Service Fabric 無狀態節點類型範本

  • Service Fabric 受控叢集資源 apiVersion 應為 2021-05-01 或更新版本。
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

在 Service Fabric 受控叢集中使用現成 VM 啟用無狀態節點類型 (預覽)

擴展集上的 Azure Spot Virtual Machines 可讓使用者以大幅降低的成本,使用未運用的計算容量。 只要 Azure 又需要這些容量,Azure 基礎結構就會收回這些 Azure Spot Virtual Machine 執行個體。 因此,現成 VM 節點類型非常適合可應付中斷,且不需在特定時間範圍內完成的工作負載。 建議的工作負載包括開發、測試、批次處理作業、巨量資料或其他大規模無狀態情節。

若要將一或多個無狀態節點類型設定為使用現成 VM,請將 isStatelessIsSpotVM 屬性設定為 true。 部署具有無狀態節點類型的 Service Fabric 叢集時,該叢集至少必須有一個不是無狀態的主要節點類型。 設定為使用現成 VM 的無狀態節點類型,已將收回原則預設為 'Delete'。 客戶可將 'evictionPolicy' 設定為 'Delete' 或 'Deallocate',但這只能在 nodetype 建立時定義。

可用的範例範本:Service Fabric 現成節點類型範本

  • Service Fabric 受控叢集資源 apiVersion 應為 2022-06-01-preview 或更新版本。
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "IsSpotVM": true,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

使用嘗試還原啟用現成 VM

此設定可讓平台自動嘗試還原已收回的現成 VM。 如需詳細資料,請參閱虛擬機器擴展集文件。 此設定只能在新的現成 nodetype 上藉由指定 spotRestoreTimeout 來啟用,這是 ISO 8601 的持續時間,其值介於 30 與 2880 分鐘之間。 在收回之後,平台會嘗試在此持續期間內還原 VM。

{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "IsSpotVM": true,
    "evictionPolicy": "deallocate",
    "spotRestoreTimeout": "PT30M",
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "dataDiskSizeGB": "[parameters('nodeTypeDataDiskSizeGB')]"
  }
}

為區域復原設定無狀態節點類型

若要為區域復原設定無狀態節點類型,您必須在叢集層級設定跨越受控叢集區域

注意

必須在叢集層級設定區域復原屬性,且此屬性無法適當變更。

暫存磁碟支援

無狀態節點類型可以設定為使用暫存磁碟當作資料磁碟,而不是受控磁碟。 使用暫存磁碟可降低無狀態工作負載的成本。 若要將無狀態節點類型設定為使用暫存磁碟,請將 useTempDataDisk 屬性設定為 true

  • 暫存磁碟大小必須為 32 GB 以上。 暫存磁碟的大小取決於 VM 大小。
  • 除非您在主機上啟用加密,否則暫存磁碟不會由伺服器端加密來加密。
  • Service Fabric 受控叢集資源 apiVersion 應為 2022-01-01 或更新版本。
{
  "apiVersion": "[variables('sfApiVersion')]",
  "type": "Microsoft.ServiceFabric/managedclusters/nodetypes",
  "name": "[concat(parameters('clusterName'), '/', parameters('nodeTypeName'))]",
  "location": "[resourcegroup().location]",
  "dependsOn": [
    "[concat('Microsoft.ServiceFabric/managedclusters/', parameters('clusterName'))]"
  ],
  "properties": {
    "isStateless": true,
    "isPrimary": false,
    "vmImagePublisher": "[parameters('vmImagePublisher')]",
    "vmImageOffer": "[parameters('vmImageOffer')]",
    "vmImageSku": "[parameters('vmImageSku')]",
    "vmImageVersion": "[parameters('vmImageVersion')]",
    "vmSize": "[parameters('nodeTypeSize')]",
    "vmInstanceCount": "[parameters('nodeTypeVmInstanceCount')]",
    "useTempDataDisk": true
  }
}

移轉時在叢集中使用無狀態節點類型

所有移轉案例皆必須新增無狀態節點類型。 現有的節點類型無法移轉為無狀態。 您可將新的無狀態節點類型新增至現有的 Service Fabric 受控叢集,並移除叢集中的任何原始節點類型。

下一步

若要深入了解 Service Fabric 受控叢集,請參閱: