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

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

在您开始之前

确保已 创建自定义映像。 使用 Service Fabric 托管群集 (SFMC) API 版本 2022-08-01-preview 和 forward 启用自定义映像。 为了使用自定义映像,您必须授予 SFMC 第一方 Microsoft Entra App 对虚拟机(VM)托管映像或共享库映像的读取访问权限,以便 SFMC 有权使用该映像读取数据并创建虚拟机。

检查 将托管标识添加到 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 模板

创建新节点类型时,需要使用新属性:VmImageResourceId: 修改 ARM 模板。 示例如下:

{
 "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/galleries/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/galleries/images),例如:

/subscriptions/<subscriptionID>/resourceGroups/<myRG>/providers/Microsoft.Compute/galleries/<CustomImageGallery>/images/<CustomImageDef>

将节点类型创建为 vmImageResourceId 且群集启用了 自动 OS 升级 后,SFMC 将监视此映像定义的已发布版本,如果发布任何新版本,则开始重置使用此映像定义创建的虚拟机规模集的映像,这将将它们引入最新版本。