共用方式為


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

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

  • 主要節點類型無法設定為無狀態。
  • 無狀態節點類型需要 2021-05-01 或更新 API 版本。
  • 這會自動將 multipleplacementgroup 屬性設為 true,您可於此處深入瞭解。 啟用此屬性的基礎 虛擬機擴展集需求和限制 適用於 Service Fabric 受控叢集。
  • 這可支援指定節點類型最多1,000個節點。
  • 無狀態節點類型可以利用 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 虛擬機實例。 因此,現成 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。 如需詳細資料,請參閱虛擬機器擴展集文件。 此設定只能在新的 Spot 節點類型上啟用,方法是指定 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 受控叢集,請參閱: