使用 ARM 模板为 Azure 虚拟机规模集上的 OS 映像升级提供维护控制

利用维护控制,可以决定何时将自动 OS 映像升级应用到虚拟机规模集。 若要了解如何使用维护控制,请参阅 Azure 虚拟机规模集的维护控制

本文介绍如何使用 Azure 资源管理器 (ARM) 模板创建维护配置。 将了解如何执行以下操作:

  • 创建配置
  • 将配置分配给虚拟机

Azure 资源管理器模板是定义项目基础结构和配置的 JavaScript 对象表示法 (JSON) 文件。 模板使用声明性语法。 你可以在不编写用于创建部署的编程命令序列的情况下,描述预期部署。

创建配置

创建配置时,请务必注意存在不同范围,各范围对应的创建模板中都具有唯一属性。 请确保使用正确的范围。

有关此维护配置模板的详细信息,请参阅 maintenanceConfigurations

主机和 OS 映像

{
  "type": "Microsoft.Maintenance/maintenanceConfigurations",
  "apiVersion": "2021-09-01-preview",
  "name": "string",
  "location": "string",
  "tags": {
    "tagName1": "tagValue1",
    "tagName2": "tagValue2"
  },
  "properties": {
    "extensionProperties": {},
    "installPatches": {
      "linuxParameters": {
        "classificationsToInclude": [ "string" ],
        "packageNameMasksToExclude": [ "string" ],
        "packageNameMasksToInclude": [ "string" ]
      },
      "rebootSetting": "string",
      "tasks": {
        "postTasks": [
          {
            "parameters": {},
            "source": "string",
            "taskScope": "string"
          }
        ],
        "preTasks": [
          {
            "parameters": {},
            "source": "string",
            "taskScope": "string"
          }
        ]
      },
      "windowsParameters": {
        "classificationsToInclude": [ "string" ],
        "excludeKbsRequiringReboot": "bool",
        "kbNumbersToExclude": [ "string" ],
        "kbNumbersToInclude": [ "string" ]
      }
    },
    "maintenanceScope": "string",
    "maintenanceWindow": {
      "duration": "string",
      "expirationDateTime": "string",
      "recurEvery": "string",
      "startDateTime": "string",
      "timeZone": "string"
    },
    "namespace": "string",
    "visibility": "string"
  }
}

分配此配置

将配置分配给虚拟机。

有关详细信息,请参阅 configurationAssignments

{ 
"type": "Microsoft.Maintenance/configurationAssignments",
"apiVersion": "2021-09-01-preview",
"name": "[variables('maintenanceConfigurationAssignmentName')]",
"location": "string (e.g. chinanorth)", 
"scope": "Resource Id of the resource that is being assigned to the Maintenance Configuration (e.g. VMSS Id)"
"properties": {
  "maintenanceConfigurationId": "Resource Id of the Maintenance Configuration"
  "resourceId": "Resource Id of the resource that is being assigned to the Maintenance Configuration (e.g. VMSS Id)"
}
}

后续步骤