在 Service Fabric 托管群集的新节点类型上部署自定义 Windows 虚拟机规模集映像(预览版)

自定义 Windows 映像类似于市场映像,不同的是你自己可以为群集中的每个新节点类型创建它们。 自定义映像可用于启动配置,例如预加载应用程序、应用程序配置和其他 OS 配置。 创建自定义 Windows 映像后,可以将其部署到 Service Fabric 托管群集中的一个或多个新节点类型中。

准备阶段

确保已创建自定义映像。 Service Fabric 托管群集 (SFMC) API 版本 2022-08-01 预览版及之后的版本都启用自定义映像。 若要使用自定义映像,必须向 SFMC 授予对虚拟机 (VM) 托管映像或共享库映像的第一方 Microsoft Entra 应用读取访问权限,以便 SFMC 有权读取映像并使用映像创建 VM。

检查将托管标识添加到 Service Fabric 托管群集节点类型,作为有关如何获取有关 SFMC 第一方 Microsoft Entra 应用的信息并向其授予对资源的访问权限的参考。 读取者访问权限就足够了。

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 将作为映像参考 ID 传递到虚拟机规模集。目前支持 3 种类型的资源:

  • 托管映像 (Microsoft.Compute/images)
  • 共享库映像 (Microsoft.Compute/gallerys/images)
  • 共享库映像版本 (Microsoft.Compute/galleries/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 将监视此映像定义的已发布版本,如果发布了任何新版本,则会开始使用此映像定义为创建的虚拟机规模集重置映像,这将使规模集升级为最新版本。