Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
В этой статье описывается процесс использования 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, можно использовать команду 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
Обновление развертывания
Чтобы активировать развертывание обновления на сервере с поддержкой 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 |
Флаг, указывающий, нужно ли перезагрузить компьютер, определяет, должен ли Менеджер обновлений Azure (AUM) перезагрузить компьютер как часть задания обновления. Допустимые значения: 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, можно использовать команду Azure CLI az rest .
az rest --method post --url https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/Test/providers/Microsoft.HybridCompute/machines/WIN-8/installPatches?api-version=2020-08-15-preview @body.json
Формат текста запроса для версии 2020-08-15 выглядит следующим образом:
{
"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 |
Тип ресурса |
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope InGuestPatch \
--location eastus \
--maintenance-window-duration "02:00" \
--maintenance-window-recur-every "20days" \
--maintenance-window-start-date-time "2022-12-30 07:00" \
--maintenance-window-time-zone "Pacific Standard Time" \
--install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
--install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
--reboot-setting "IfRequired" \
--extension-properties InGuestPatchMode="User"
Связывание виртуальной машины с расписанием
Чтобы связать виртуальную машину с расписанием конфигурации обслуживания, укажите следующий запрос PUT:
PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Удаление компьютера из расписания
Чтобы удалить машину из расписания, получите все имена назначений конфигурации для машины, которые вы создали, чтобы связать машину с текущим расписанием, из графа ресурсов Azure, как указано ниже.
az maintenance configuration delete \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Следующие шаги
- Просмотр журналов оценки и развертывания обновлений, созданных диспетчером обновлений, см. в журналах запросов
- Сведения об устранении неполадок см. в разделе "Диспетчер устранения неполадок "
- Справочник PowerShell: модуль Az.Maintenance