自定义 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>"
创建新节点类型时,需要使用新属性: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 升级,节点类型不得固定到特定映像版本,即必须使用库映像(Microsoft.Compute/galleries/images),例如:
/subscriptions/<subscriptionID>/resourceGroups/<myRG>/providers/Microsoft.Compute/galleries/<CustomImageGallery>/images/<CustomImageDef>
将节点类型创建为 vmImageResourceId 且群集启用了 自动 OS 升级 后,SFMC 将监视此映像定义的已发布版本,如果发布任何新版本,则开始重置使用此映像定义创建的虚拟机规模集的映像,这将将它们引入最新版本。