自訂 Windows 映像和市集映像相同,但您會針對叢集內的每個新節點類型自行加以建立。 自訂映像可用於啟動程序設定,例如,預先載入應用程式、應用程式設定和其他 OS 設定。 建立自訂 Windows 映像之後,您就可以部署至 Service Fabric 受控叢集內的一或多個新節點類型。 客戶也可以使用市集映像。 Azure Marketplace 映像是整個電腦系統的複製品,包括作業系統、應用程式和狀態資訊。 Service Fabric 受控叢集可讓您將這些映像用於 Service Fabric 受控叢集內的節點類型。
開始之前
請確定您已建立自訂映像。 Service Fabric 受控叢集 (SFMC) API 2022-08-01-preview 與後續更新版本都會提供自訂映像功能。 若要使用自訂映像,您必須將虛擬機器 (VM) 受控映像或共用資源庫映像的讀取存取授與 SFMC 第一方 Microsoft Entra App,讓 SFMC 有權讀取該映像並用來建立 VM。
如果您已選擇使用 Azure Marketplace 映像,則必須尋找並使用適當的市集購買方案資訊。 然後,您可以在建立 VM 時指定市集映像和方案資訊。 您也可以使用 Azure Marketplace或 Azure CLI 來瀏覽可用的映像和供應項目。
請參閱將受控識別新增至 Service Fabric 受控叢集節點類型,以了解如何取得 SFMC 第一方 Microsoft Entra App 的相關資訊,並為其授與資源的存取權。 讀取存取權已足夠。
Role definition name: Reader
Role definition ID: acdd72a7-3385-48ef-bd42-f606fba81ae7
New-AzRoleAssignment -PrincipalId "<SFMC SPID>" -RoleDefinitionName "Reader" -Scope "/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/galleries/<galleryName>"
使用 ARM 範本
當您建立新的節點類型時,您必須使用新的屬性修改 ARM 範本:VmImageResourceId: 。 以下是一個範例:
{
"name": "SF",
"properties": {
"isPrimary" : true,
"vmImageResourceId": "/subscriptions/<SubscriptionID>/resourceGroups/<myRG>/providers/Microsoft.Compute/images/<MyCustomImage>",
"vmSize": "Standard_D2",
"vmInstanceCount": 5,
"dataDiskSizeGB": 100
}
}
vmImageResourceId 會以映像參考識別碼的形式傳遞至虛擬機器擴展集,目前我們支援 3 種類型的資源:
- 受控映像 (Microsoft.Compute/images)
- 共用資源庫映像 (Microsoft.Compute/gallerys/images)
- 共用資源庫映像版本 (Microsoft.Compute/gallerys/images/versions)
Service Fabric 受控叢集也支援可在虛擬機器上使用的市集映像。 想要從市集使用特定映像的客戶可以使用下列設定。
{
"name": "SF",
"apiVersion": "2023-08-01-preview",
"properties": {
"isPrimary" : true,
"vmSize": "Standard_D2",
"vmImagePlan": {
"name": "< image >",
"publisher": "<publisher name>",
"product": "<product name>"
},
"vmInstanceCount": 5,
"dataDiskSizeGB": 100
}
}
自動 OS 升級
自訂映像也支援自動 OS 升級。 若要啟用自動 OS 升級,節點類型不得釘選到特定映像版本,也就是說必須使用資源庫映像 (Microsoft.Compute/gallerys/images),例如:
/subscriptions/<subscriptionID>/resourceGroups/<myRG>/providers/Microsoft.Compute/galleries/<CustomImageGallery>/images/<CustomImageDef>
使用這個作為 vmImageResourceId 建立節點類型,且叢集已啟用自動 OS 升級時,SFMC 會監視此映像定義的已發佈版本,且如果發佈任何新版本,便會開始搭配此映像定義為虛擬機器擴展集重新安裝映像,並使其更新至最新版本。