Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применимо к: ✔️ Виртуальные машины Linux ✔️ Виртуальные машины Windows ✔️ Гибкие группы масштабирования ✔️ Унифицированные группы масштабирования
Вы можете использовать функцию конфигураций обслуживания для управления применением обновлений платформы к различным ресурсам Azure. В этой статье рассматриваются параметры Azure CLI для использования этой функции. Дополнительные сведения о преимуществах использования конфигураций обслуживания, ограничений и других параметров управления см. в разделе "Управление обновлениями платформы с помощью конфигураций обслуживания".
Это важно
Определенные области применения поддерживают определенные типы машин и расписания. Убедитесь, что выбрана правильная область для виртуальной машины.
Создайте конфигурацию обслуживания
Первым шагом при создании конфигурации обслуживания является создание группы ресурсов в качестве контейнера для конфигурации. В этом примере создается группа ресурсов myMaintenanceRG в регионе eastus. Если у вас уже есть группа ресурсов, которую вы хотите использовать, можно пропустить эту часть и заменить имя группы ресурсов собственным в остальных примерах.
az group create \
--location eastus \
--name myMaintenanceRG
После создания группы ресурсов используйте az maintenance configuration create для создания конфигурации обслуживания.
Хозяин
В этом примере создается конфигурация обслуживания с именем myConfig с областью размещения компьютеров с запланированным окном в 5 часов в четвертом понедельнике каждого месяца:
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope host \
--location eastus \
--maintenance-window-duration "05:00" \
--maintenance-window-recur-every "Month Fourth Monday" \
--maintenance-window-start-date-time "2020-12-30 08:00" \
--maintenance-window-time-zone "Pacific Standard Time"
Использование --maintenance-scope host гарантирует, что конфигурация обслуживания используется для управления обновлениями инфраструктуры узла. Если вы попытаетесь создать конфигурацию с тем же именем, но в другом расположении, вы получите ошибку. Имена конфигураций должны быть уникальными для группы ресурсов.
Чтобы проверить, успешно ли вы создали конфигурацию обслуживания, можно запросить доступные конфигурации обслуживания с помощью az maintenance configuration list:
az maintenance configuration list
--query "[].{Name:name, ID:id}"
--output table
Вы можете выразить повторение обслуживания как ежедневное, еженедельное или ежемесячное. Ниже приведены некоторые примеры.
-
Ежедневно:
maintenance-window-recur-everyзначение"Day"или"3Days". -
Еженедельно:
maintenance-window-recur-everyзначение"3Weeks"или"Week Saturday,Sunday". -
Ежемесячно:
maintenance-window-recur-everyзначение"Month day23,day24"или"Month Last Sunday"Month Fourth Monday.
Наборы виртуальных машин с возможностью масштабирования
В этом примере создается конфигурация обслуживания с именем myConfig с областью действия образа ОС для масштабируемых наборов виртуальных машин с временным окном в 5 часов в четвертый понедельник каждого месяца.
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope osimage \
--location eastus \
--maintenance-window-duration "05:00" \
--maintenance-window-recur-every "Month Fourth Monday" \
--maintenance-window-start-date-time "2020-12-30 08:00" \
--maintenance-window-time-zone "Pacific Standard Time"
Гостевые виртуальные машины
В этом примере создается конфигурация обслуживания с именем myConfig, ограниченная гостевыми компьютерами (виртуальными машинами и серверами с поддержкой Azure Arc), с запланированным окном 2 часа каждые 20 дней. Дополнительные сведения о конфигурациях обслуживания на гостевых виртуальных машинах.
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"
Назначьте конфигурацию
Используется az maintenance assignment create для назначения конфигурации компьютеру.
Изолированная виртуальная машина
Примените конфигурацию к изолированной виртуальной машине узла с помощью идентификатора конфигурации. Укажите --resource-type virtualMachines. Укажите имя виртуальной машины для --resource-name, группу ресурсов виртуальной машины и --resource-groupрасположение виртуальной машины для --location.
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"
Выделенный сервер
Чтобы применить конфигурацию к выделенному узлу, необходимо включить --resource-type hosts, указать имя группы узлов с помощью --resource-parent-name, и добавить --resource-parent-type hostGroups.
Параметр --resource-id — это идентификатор узла. Для получения идентификатора выделенного узла можно использовать az-vm-host-get-instance-view .
az maintenance assignment create \
--resource-group myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myDhResourceGroup/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig" \
--location eastus \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Наборы виртуальных машин с возможностью масштабирования
az maintenance assignment create \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Гостевые виртуальные машины
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"
Проверка конфигурации
Вы можете проверить правильность применения конфигурации или проверить, какая конфигурация применяется в данный момент с помощью az maintenance assignment list.
Изолированная виртуальная машина
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Выделенный сервер
az maintenance assignment list \
--resource-group myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--query "[].{ResourceGroup:resourceGroup,configName:name}" \
--output table
Наборы виртуальных машин с возможностью масштабирования
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type "virtualMachineScaleSets" \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Гостевые виртуальные машины
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Проверка ожидающих обновлений
Используется az maintenance update list для просмотра наличия ожидающих обновлений. Обновите --subscription, чтобы он стал идентификатором подписки, содержащей виртуальную машину.
Если обновлений нет, команда возвращает сообщение об ошибке, содержащее текст Resource not found...StatusCode: 404.
При наличии обновлений команда возвращает только одну, даже если ожидается несколько обновлений. Данные для этого обновления возвращаются в объекте:
[
{
"impactDurationInSec": 9,
"impactType": "Freeze",
"maintenanceScope": "Host",
"notBefore": "2020-03-03T07:23:04.905538+00:00",
"resourceId": "/subscriptions/a0a0a0a0-bbbb-cccc-dddd-e1e1e1e1e1e1/resourcegroups/DemoRG/providers/Microsoft.Compute/hostGroups/demoHostGroup/hosts/myHost",
"status": "Pending"
}
]
Изолированная виртуальная машина
Проверьте наличие ожидающих обновлений для изолированной виртуальной машины. В этом примере выходные данные форматируются в виде таблицы для удобства чтения:
az maintenance update list \
--subscription {subscription ID} \
--resource-group myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--output table
Выделенный сервер
Проверьте наличие ожидающих обновлений для выделенного узла. В этом примере выходные данные форматируются как таблица для удобства чтения. Замените значения ресурсов собственными.
az maintenance update list \
--subscription {subscription ID} \
--resource-group myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--output table
Применение обновлений
Используйте az maintenance apply update для применения ожидающих обновлений. При успешном выполнении эта команда возвращает JSON, содержащую сведения об обновлении. Вызовы для применения обновлений могут занять до 2 часов.
Изолированная виртуальная машина
Создайте запрос, чтобы применить обновления к изолированной виртуальной машине:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Выделенный сервер
Примените обновления к выделенному узлу:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Наборы виртуальных машин с возможностью масштабирования
Примените обновления к набору масштабирования:
az maintenance applyupdate create \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute
Проверка состояния применения обновлений
Вы можете проверить ход выполнения обновлений с помощью az maintenance applyupdate show.
Чтобы просмотреть результаты последнего обновления, используйте default как имя обновления. Или замените myUpdateName именем обновления, возвращаемого при выполнении az maintenance applyupdate create.
Status : Completed
ResourceId : /subscriptions/b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso
LastUpdateTime : 1/1/2020 12:00:00 AM
Id : /subscriptions/b1b1b1b1-cccc-dddd-eeee-f2f2f2f2f2f2/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso/providers/Microsoft.Maintenance/applyUpdates/default
Name : default
Type : Microsoft.Maintenance/applyUpdates
LastUpdateTime — это время, когда завершилось обновление, независимо от того, инициировали ли вы его самостоятельно или платформа сделала это, поскольку вы не использовали период самостоятельного обслуживания. Если обновление никогда не применялось с помощью конфигураций обслуживания, LastUpdateTime отображается значение по умолчанию.
Изолированная виртуальная машина
az maintenance applyupdate show \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Выделенный сервер
az maintenance applyupdate show \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Наборы виртуальных машин с возможностью масштабирования
az maintenance applyupdate show \
--subscription {subscriptionID} \
--resource-group myMaintenanceRG \
--resource-name myVMSS \
--resource-type virtualMachineScaleSets \
--provider-name Microsoft.Compute \
--apply-update-name myUpdateName \
--query "{LastUpdate:lastUpdateTime, Name:name, ResourceGroup:resourceGroup, Status:status}" \
--output table
Удалите конфигурацию обслуживания
Чтобы удалить конфигурацию обслуживания, используйте az maintenance configuration delete. При удалении конфигурации управление обслуживанием удаляется из связанных ресурсов.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-resource-group myResourceGroup \
--resource-name myConfig
Дальнейшие действия
Дополнительные сведения см. в статье "Обслуживание виртуальных машин в Azure".