Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается процесс использования REST API Azure для активации оценки и развертывания обновлений на серверах с поддержкой Azure Arc с помощью Azure Update Manager в Azure. Если вы не знакомы с Диспетчером обновлений Azure и хотите узнать больше, ознакомьтесь с обзором Диспетчера обновлений. Сведения об использовании REST API Azure для управления виртуальными машинами Azure см. в статье "Как программно работать с виртуальными машинами Azure".
Диспетчер обновлений в Azure позволяет использовать REST API Azure для программного доступа. Кроме того, можно использовать соответствующие команды REST из Azure PowerShell и Azure CLI.
Поддержка REST API Azure для управления серверами с поддержкой Azure Arc доступна через расширение виртуальной машины Update Manager.
Оценка обновлений
Чтобы активировать оценку обновлений на сервере с поддержкой Azure Arc, укажите следующий запрос POST:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview`
{
}
Чтобы указать запрос POST, можно использовать команду Azure CLI az rest .
az rest --method post --url https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview --body @body.json
Формат текста запроса для версии 2020-08-15 выглядит следующим образом:
{
}
Обновление развертывания
Чтобы активировать развертывание обновления на сервере с поддержкой Azure Arc, укажите следующий запрос POST:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview`
Текст запроса
В следующей таблице описываются элементы текста запроса:
Свойство | Описание |
---|---|
maximumDuration |
Максимальное время в минутах может занять операция обновления ОС. Это должна быть строка длительности, совместимая с ISO 8601, например PT100M . |
rebootSetting |
Флаг, указывающий, нужно ли перезагрузить компьютер и требуется ли это для завершения установки обновлений гостевой операционной системы. Допустимые значения: IfRequired, NeverReboot, AlwaysReboot |
windowsParameters |
Параметры для обновления гостевой ОС на компьютере под управлением поддерживаемой операционной системы Microsoft Windows Server. |
windowsParameters - classificationsToInclude |
Список категорий или классификаций обновлений ОС, которые необходимо применить и которые поддерживаются и предоставляются ОС Windows Server. Допустимые значения: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Update |
windowsParameters - kbNumbersToInclude |
Список идентификаторов обновлений Windows KB, доступных для компьютера и требующих установки. Если вы включили любые «классификации для включения», устанавливаются базы знаний, доступные в категории. 'kbNumbersToInclude' — это параметр, позволяющий предоставить список специфических идентификаторов обновлений баз знаний, которые вы хотите установить в дополнение к уже имеющимся. Например: 1234 |
windowsParameters - kbNumbersToExclude |
Список идентификаторов базы знаний обновлений Windows, доступных на компьютере, которые не должны быть установлены. Если вы включили какие-либо классификации для включения, то будут установлены базы знаний, доступные в категории. "kbNumbersToExclude" — это параметр, позволяющий предоставить список определённых идентификаторов базы знаний, которые вы хотите удостовериться, не будут установлены. Например: 5678 |
maxPatchPublishDate |
Это используется для установки исправлений, опубликованных до указанной максимальной даты публикации. |
linuxParameters |
Параметры для обновления гостевой ОС, когда машина работает с поддерживаемым дистрибутивом Linux |
linuxParameters - classificationsToInclude |
Список категорий или классификаций обновлений ОС, которые следует применить, как поддерживается и предоставляется менеджером пакетов ОС Linux. Допустимые значения: Critical, Security, Others Дополнительные сведения см. в разделе "Диспетчер пакетов Linux" и поддержка ОС. |
linuxParameters - packageNameMasksToInclude |
Список пакетов Linux, доступных для компьютера и которые должны быть установлены. Если вы включили любой "classificationsToInclude", пакеты, доступные в категории, будут установлены. PackageNameMasksToInclude — это параметр для предоставления списка пакетов более поздних версий, которые необходимо установить. Например: mysql, libc=1.0.1.1, kernel* |
linuxParameters - packageNameMasksToExclude |
Список пакетов Linux, доступных для компьютера, которые не должны быть установлены. Если вы включили любой "classificationsToInclude", пакеты, доступные в категории, будут установлены. Option 'packageNameMasksToExclude' позволяет предоставить список определенных пакетов, которые не должны быть установлены. Например: mysql, libc=1.0.1.1, kernel* |
Чтобы указать запрос POST, можно использовать следующий вызов REST API Azure с допустимыми параметрами и значениями.
POST on 'subscriptions/subscriptionI/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview
{
"maximumDuration": "PT120M",
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"UpdateRollup",
"FeaturePack",
"ServicePack"
],
"kbNumbersToInclude": [
"11111111111",
"22222222222222"
],
"kbNumbersToExclude": [
"333333333333",
"55555555555"
]
}
}'
Создание расписания конфигурации обслуживания
Чтобы создать расписание конфигурации обслуживания, укажите следующий запрос PUT:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`
Текст запроса
В следующей таблице описываются элементы текста запроса:
Собственность | Описание |
---|---|
id |
Полный идентификатор ресурса |
location |
Возвращает или задает расположение ресурса |
name |
Имя ресурса. |
properties.extensionProperties |
Получает или задает расширенные свойства конфигурации обслуживания. |
properties.maintenanceScope |
Возвращает или задает maintenanceScope конфигурации |
properties.maintenanceWindow.duration |
Длительность периода обслуживания в формате HH:mm. Если это не указано, значение по умолчанию будет использоваться в зависимости от заданной области обслуживания. Пример: 05:00. |
properties.maintenanceWindow.expirationDateTime |
Срок действия периода обслуживания в формате ГГГГ-ММ-ДД hh:MM. Окно создается в указанном часовом поясе, с учетом перехода на летнее время в этом часовом поясе. Необходимо задать дату окончания срока действия на будущую дату. Если оно не указано, оно будет установлено на максимальное значение даты и времени 9999-12-31 23:59:59. |
properties.maintenanceWindow.recurEvery |
Частота, с которой ожидается повторение окна обслуживания. Ставка может быть выражена на основе ежедневного, еженедельного или ежемесячного расписания. Ежедневное расписание можно форматировать как recurEvery: [Частота в виде целого числа]['Day(s)']. Если частота не указана, частота по умолчанию — 1. Примеры ежедневного расписания — recurEvery: Day, recurEvery: 3Days. Еженедельные расписания форматируются как recurEvery: [Частота как целое число]['Неделя(и)'] [Необязательный список дней недели через запятую, например, Понедельник-Воскресенье]. Примеры еженедельного расписания — recurEvery: 3Weeks, recurEvery: Неделя суббота, воскресенье. Вы можете форматировать ежемесячные расписания как [Частота как целое число]['Месяцы'] [список дней месяца, разделенный запятыми] или [Частота как целое число]['Месяцы'] [Неделя месяца (первая, вторая, третья, четвертая, последняя)] [День недели Понедельник-Воскресенье]. Примеры ежемесячного расписания — recurEvery: Месяц; recurEvery: 2Месяца; recurEvery: Месяц день23, день24; recurEvery: Месяц Последнее воскресенье; recurEvery: Месяц Четвертый понедельник. |
properties.maintenanceWindow.startDateTime |
Дата начала периода обслуживания в формате ГГГГ-ММ-ДД hh:mm. Вы можете задать дату начала либо текущей, либо будущей. Окно будет создано в указанном часовом поясе и скорректировано в соответствии с переходом на летнее время для этого часового пояса. |
properties.maintenanceWindow.timeZone |
Имя часового пояса. Список часовых поясов можно получить, выполнив [System.TimeZoneInfo]:GetSystemTimeZones() в PowerShell. Пример: Тихоокеанское стандартное время, UTC, Западноевропейское стандартное время, Корейское стандартное время, Центральное стандартное время. Стандартное время Австралии. |
properties.namespace |
Возвращает или задает пространство имен ресурса |
properties.visibility |
Возвращает или задает видимость конфигурации. Значение по умолчанию — 'Пользовательский' |
systemData |
Метаданные Azure Resource Manager, содержащие данные createdBy и modifiedBy. |
tags |
Возвращает или задает теги ресурса |
type |
Тип ресурса |
Чтобы указать запрос POST, можно использовать следующий вызов REST API Azure с допустимыми параметрами и значениями.
PUT on '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestAdv2?api-version=2021-09-01-preview
{
"location": "eastus2euap",
"properties": {
"namespace": null,
"extensionProperties": {
"InGuestPatchMode" : "User"
},
"maintenanceScope": "InGuestPatch",
"maintenanceWindow": {
"startDateTime": "2021-08-21 01:18",
"expirationDateTime": "2221-05-19 03:30",
"duration": "01:30",
"timeZone": "India Standard Time",
"recurEvery": "Day"
},
"visibility": "Custom",
"installPatches": {
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"Critical",
"UpdateRollup"
]
},
"linuxParameters": {
"classificationsToInclude": [
"Other"
]
}
}
}
}'
Связывание виртуальной машины с расписанием
Чтобы связать виртуальную машину с расписанием конфигурации обслуживания, укажите следующий запрос PUT:
PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
Чтобы указать запрос PUT, можно использовать следующий вызов REST API Azure с допустимыми параметрами и значениями.
PUT on '/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/atscalepatching/providers/Microsoft.Compute/virtualMachines/win-atscalepatching-1/providers/Microsoft.Maintenance/configurationAssignments/TestAzureInGuestAdv?api-version=2021-09-01-preview
{
"properties": {
"maintenanceConfigurationId": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/atscalepatching/providers/Microsoft.Maintenance/maintenanceConfigurations/TestAzureInGuestIntermediate2"
},
"location": "eastus2euap"
}'
Удаление компьютера из расписания
Чтобы удалить машину из расписания, получите все имена назначений конфигурации для машины, которые вы создали, чтобы связать машину с текущим расписанием, из графа ресурсов Azure, как указано ниже.
maintenanceresources
| where type =~ "microsoft.maintenance/configurationassignments"
| where properties.maintenanceConfigurationId =~ "<maintenance configuration Resource ID>"
| where properties.resourceId =~ "<Machine Resource Id>"
| project name, id
После получения имени, как указано выше, удалите назначение конфигурации, выполнив запрос DELETE.
DELETE on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
Следующие шаги
- Чтобы просмотреть журналы оценки обновлений и развертывания, созданные Диспетчером обновлений, см. журналы запросов.
- Для устранения проблем используйте Диспетчер обновлений.