Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Автоматическое обновление расширений доступно для Azure Виртуальные машины и Azure Масштабируемые наборы виртуальных машин. Если автоматическое обновление расширений включено на виртуальной машине или масштабируемом наборе, Azure автоматически отслеживает новые версии расширений, оценивает качество и безопасность новой версии, утверждает версию для развертывания, а затем автоматически обновляет все виртуальные машины с помощью расширения. Azure обновляет все виртуальные машины постепенно после методов безопасного развертывания (SDP), чтобы предотвратить сбой версии и обеспечить высокий уровень доступности для приложений. Это постепенное развертывание может занять 1–2 месяца, чтобы завершиться в зависимости от времени, необходимого для оценки, серьезности обновления и масштаба виртуальных машин, необходимых для обновления.
Автоматическое обновление расширений имеет следующие особенности:
- Azure VMs, virtual machine scale sets and Arc VMs are supported.
- Обновления применяются в модели развертывания с первого уровня доступности (методы безопасного развертывания)[/azure/well-architected/operational-excellence/safe-deployments] (SDP).
- Для масштабируемого набора виртуальных машин по умолчанию не более 20% виртуальных машин масштабируемого набора обновляются в одном пакете. Этот размер пакета можно изменить, определив политику последовательного обновления VMSS.
- Для виртуальных машин Azure и виртуальных машин Arc не более 20% виртуальных машин обновляются в одном пакете. Этот размер пакета нельзя изменить.
- Все неудачные обновления автоматически откатываются, чтобы попытаться вернуть виртуальную машину в работоспособное состояние.
- Все обновления не перезагружаются. Поэтому после обновления виртуальная машина не нуждается в перезагрузке.
- Поддерживаются все размеры виртуальных машин.
- Расширения Windows и Linux совместимы.
- Автоматические обновления включены по умолчанию начальной версии
2025-04-01
API. - Каждое поддерживаемого расширения регистрируется по отдельности. Вы можете выбрать, какие расширения следует обновлять автоматически.
- Поддерживаются все общедоступные, суверенные и воздушные облачные регионы.
Принцип работы автоматического обновления расширений
Процесс обновления расширения удаляет существующее расширение на виртуальной машине и переустановит расширение с новой версией.
- Когда издатель расширения публикует новую версию того же расширения, Azure обнаруживает новую версию и запускает процесс оценки качества. Этот процесс проверяет версию для обеспечения безопасности, качества и безопасного обновления без сбоев. Версия утверждена для развертывания после прохождения оценки.
- Azure начинается с одного региона или зоны (развертывание начинается с канарского региона), и после полного обновления он переходит к следующему региону или зоне.
- В пределах региона или зоны Azure группирует виртуальные машины в небольшие пакеты (на основе политик по умолчанию или последовательному обновлению) и обновляет один пакет за раз. Azure переходит к следующему пакету после успешного обновления предыдущего пакета.
- Azure Monitors для работоспособности виртуальных машин и приложений (с помощью расширения работоспособности приложений) после обновления для обнаружения сбоев. Если виртуальная машина не работает в течение пяти минут после обновления, обновление выполняется и установлена предыдущая версия расширения. Обновление автоматически выполняется после некоторого времени без вмешательства клиента.
Availability-first Upgrades
Модель доступности для управляемых платформами обновлений гарантирует, что конфигурации доступности в Azure соблюдаются на нескольких уровнях доступности.
Для группы виртуальных машин, проходящих обновление, платформа Azure управляет обновлениями между регионами, в пределах региона и в наборе.
Across regions
- Обновление выполняется по всему миру в Azure поэтапно, чтобы предотвратить сбои развертывания на уровне Azure.
- Этап может иметь один или несколько регионов, и обновление перемещается между этапами, только если соответствующие виртуальные машины успешно обновлены на предыдущем этапе.
- Геопарированные регионы одновременно не обновляются и не могут находиться на одном и том же региональном этапе.
- Успешное обновление измеряется путем отслеживания работоспособности после обновления виртуальной машины. Работоспособности виртуальных машин отслеживается с помощью индикаторов работоспособности платформы для виртуальной машины (работоспособности виртуальных машин и работоспособности приложений, сообщаемых расширением работоспособности приложений).
В пределах региона
- Виртуальные машины в разных зонах доступности не обновляются одновременно с тем же обновлением.
- Отдельные виртуальные машины, которые не являются частью группы доступности, пакетируются на основе лучших усилий, чтобы избежать одновременных обновлений для всех виртуальных машин в подписке.
Внутри набора
- Все виртуальные машины в общем наборе доступности или масштабируемом наборе не обновляются одновременно.
- Виртуальные машины в общей группе доступности обновляются в пределах границ домена обновления. Виртуальные машины в нескольких доменах обновления не обновляются одновременно.
- Виртуальные машины в общем масштабируемом наборе виртуальных машин группируются в пакетах и обновляются в пределах границ домена обновления. Upgrade policies defined on the scale set are honored during the upgrade. Каждая группа обновляется с помощью стратегии последовательного обновления.
Процесс обновления для масштабируемых наборов виртуальных машин
- Перед началом процесса обновления оркестратор гарантирует, что не более 20% виртуальных машин во всем масштабируемом наборе неработоспособны (по какой-либо причине).
- Оркестратор обновления определяет пакет экземпляров виртуальных машин для обновления. Пакет обновления может иметь не более 20 % от общего количества виртуальных машин, при условии минимального размера пакета одной виртуальной машины. Оркестратор рассматривает определение политики обновления и зон доступности во время идентификации пакета.
- После обновления работоспособности виртуальной машины всегда отслеживается перед переходом к следующему пакету. Для масштабируемых наборов с настроенными пробами работоспособности приложения или расширением "Работоспособности приложений" также отслеживается работоспособности приложений. Обновление ожидает до пяти минут (или определенной конфигурации пробы работоспособности) виртуальной машины перед обновлением следующего пакета. Если виртуальная машина не восстанавливает работоспособность после обновления, то по умолчанию будет переустановлена предыдущая версия расширения на виртуальной машине.
- Оркестратор обновления также отслеживает процент виртуальных машин, которые становятся неработоспособными после обновления. Обновление останавливается, если более 20% обновленных экземпляров становятся неработоспособными во время процесса обновления.
Этот процесс продолжается до обновления всех экземпляров в масштабируемом наборе.
Оркестратор обновления масштабируемого набора проверяет общую работоспособность масштабируемого набора перед обновлением каждого пакета. Во время пакетного обновления другие параллельные или незапланированные действия обслуживания могут повлиять на работоспособность виртуальных машин масштабируемого набора. В таких случаях, если более 20% экземпляров масштабируемого набора становятся неработоспособными, обновление масштабируемого набора останавливается в конце текущего пакета.
Supported extensions
Чтобы проверить, поддерживаются ли расширения для автоматического обновления, просмотрите состояние автоматического обновления на портале Azure — колонке расширения.
Ниже приведены популярные расширения, поддерживаемые для автоматического обновления (и многое другое добавляются периодически):
Publisher | Type |
---|---|
Microsoft.Azure.Automation.HybridWorker | HybridWorkerForLinux |
Microsoft.Azure.Automation.HybridWorker | HybridWorkerForWindows |
Microsoft.Azure.AzureDefenderForSQL | AdvancedThreatProtection.Windows |
Microsoft.Azure.AzureDefenderForSQL | VulnerabilityAssessment.Windows |
Microsoft.Azure.AzureDefenderForServers | MDE.Linux |
Microsoft.Azure.AzureDefenderForServers | MDE.Windows |
Microsoft.Azure.ChangeTrackingAndInventory | ChangeTracking-Linux |
Microsoft.Azure.ChangeTrackingAndInventory | ChangeTracking-Windows |
Microsoft.Azure.Diagnostics | LinuxDiagnostic |
Microsoft.Azure.Extensions.Edp | LinuxHibernateTestExtension |
Microsoft.Azure.Extensions.Edp | WindowsHibernateTestExtension |
Microsoft.Azure.FleetDiagnostics | FleetDiagnosticsForWindows |
Microsoft.Azure.Geneva | GenevaMonitoring |
Microsoft.Azure.KeyVault | KeyVaultForLinux |
Microsoft.Azure.KeyVault | KeyVaultForWindows |
Microsoft.Azure.Labservices | Agent.Linux |
Microsoft.Azure.Labservices | Agent.Windows |
Microsoft.Azure.Monitor | AzureMonitorLinuxAgent |
Microsoft.Azure.Monitor | AzureMonitorWindowsAgent |
Microsoft.Azure.Monitoring.DependencyAgent.EDP | DependencyAgentLinux |
Microsoft.Azure.Monitoring.DependencyAgent.EDP | DependencyAgentWindows |
Microsoft.Azure.Monitoring.DependencyAgent | DependencyAgentLinux |
Microsoft.Azure.Monitoring.DependencyAgent | DependencyAgentWindows |
Microsoft.Azure.NetworkWatcher | NetworkWatcherAgentLinux |
Microsoft.Azure.NetworkWatcher | NetworkWatcherAgentWindows |
Microsoft.Azure.Networking.DNS | DNSClientCache |
Microsoft.Azure.SCOMMI | GatewayServer |
Microsoft.Azure.SCOMMI | WindowsAgent |
Microsoft.Azure.Security.AntimalwareSignature | AntimalwareConfiguration |
Microsoft.Azure.Security.Dsms | DSMSForWindows |
Microsoft.Azure.Security.LinuxAttestation | GuestAttestation |
Microsoft.Azure.Security.Monitoring | AzureSecurityLinuxAgent |
Microsoft.Azure.Security.Monitoring | AzureSecurityWindowsAgent |
Microsoft.Azure.Security.WindowsAttestation | GuestAttestation |
Microsoft.Azure.Security.WindowsCodeIntegrity | CodeIntegrityAgent |
Microsoft.Azure.ServiceFabric | ServiceFabricLinuxNode |
Microsoft.Azure.Watson | WatsonLinuxAgent |
Microsoft.Azure.Workloads | MonitoringExtensionLinux |
Microsoft.Azure.Workloads | MonitoringExtensionWindows |
Microsoft.CPlat.Core | LinuxHibernateExtension |
Microsoft.CPlat.Core | WindowsHibernateExtension |
Microsoft.CPlat.ProxyAgent | ProxyAgentLinux |
Microsoft.CPlat.ProxyAgent | ProxyAgentWindows |
Microsoft.EnterpriseCloud.Monitoring | MicrosoftMonitoringAgent |
Microsoft.EnterpriseCloud.Monitoring | OmsAgentForLinux |
Microsoft.GuestConfiguration | ConfigurationForLinux |
Microsoft.GuestConfiguration | ConfigurationForWindows |
Microsoft.ManagedServices | ApplicationHealthLinux |
Microsoft.ManagedServices | ApplicationHealthWindows |
Microsoft.OSTCExtensions | DSCForLinux |
Microsoft.Sentinel.AzureMonitorAgentExtensions | MicrosoftDnsAgent |
Microsoft.SqlServer.Management | SqlIaaSAgent |
Microsoft.SqlServer.Management | SqlIaaSAgentLinux |
Включение автоматического обновления расширений
Чтобы включить автоматическое обновление расширений для расширения, необходимо убедиться, что свойство enableAutomaticUpgrade
задано true
и добавляется в каждое определение расширения по отдельности.
Использование портала Azure
In the Azure portal, use the Extension pane to enable automatic upgrade of extensions on existing VMs and virtual machine scale sets.
Go to the Virtual Machines or Virtual Machines Scale Sets pane, and select the resource name.
Under Settings, go to the Extensions + applications pane, which shows all extensions installed on the resource. Столбец состояния автоматического обновления показывает, включен ли автоматическое обновление расширения, отключено или не поддерживается.
Select the extension name to open the Extensions details pane.
Выберите "Включить автоматическое обновление", чтобы включить автоматическое обновление расширения. При необходимости используйте эту кнопку, чтобы отключить автоматическое обновление.
Для виртуальных машин
Чтобы включить автоматическое обновление расширений для расширения (в этом примере расширение агента зависимостей) на виртуальной машине Azure, используйте следующий вызов:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachines/<vmName>/extensions/<extensionName>?api-version=2019-12-01`
{
"name": "extensionName",
"type": "Microsoft.Compute/virtualMachines/extensions",
"location": "<location>",
"properties": {
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"typeHandlerVersion": "9.5"
}
}
Для масштабируемых наборов виртуальных машин
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroupName>/providers/Microsoft.Compute/virtualMachineScaleSets/<vmssName>?api-version=2019-12-01`
{
"location": "<location>",
"properties": {
"virtualMachineProfile": {
"extensionProfile": {
"extensions": [
{
"name": "<extensionName>",
"properties": {
"autoUpgradeMinorVersion": true,
"enableAutomaticUpgrade": true,
"publisher": "Microsoft.Azure.Monitoring.DependencyAgent",
"type": "DependencyAgentWindows",
"typeHandlerVersion": "9.5"
}
}
]
}
}
}
}
Note
Эти операции задают enableAutomaticUpgrade
свойство true
для ресурса масштабируемого набора виртуальных машин, но не на базовых виртуальных машинах.
Если масштабируемый набор виртуальных машин определяет режим автоматического или последовательного обновления в файле upgradeProfile, масштабируемый набор виртуальных машин автоматически распространяет изменения на каждую базовую виртуальную машину.
Если масштабируемый набор виртуальных машин определяет режим вручную в режиме upgradeProfile
, необходимо также вручную обновить каждый экземпляр и распространить изменения на каждую базовую виртуальную машину.
Обновление нескольких расширений
У виртуальной машины или масштабируемого набора виртуальных машин может быть несколько расширений с включенным автоматическим обновлением расширений. Те же виртуальные машины или масштабируемый набор также могут иметь другие расширения без включения автоматического обновления расширений.
Если для виртуальной машины доступно несколько обновлений расширений, обновления могут быть пакетированы вместе, но каждое обновление расширения применяется отдельно на виртуальной машине. Сбой одного расширения не влияет на другие расширения, которые могут обновляться. Например, если для обновления запланировано два расширения, а первое обновление расширения завершается сбоем, второй модуль по-прежнему обновляется.
You can also apply Automatic Extension Upgrade when a VM or virtual machine scale set has multiple extensions configured with extension sequencing. Последовательность расширений выполняется при первом развертывании виртуальной машины. Любые будущие обновления расширений для расширения применяются независимо.
Разница между EnableAutomaticUpgrade и AutoUpgradeMinorVersion
AutoUpgradeMinorVersion
:- Это свойство используется во время создания виртуальной машины и при обновлении виртуальной машины с новой конфигурацией.
- Если задано значение
true
, оно гарантирует, что на виртуальной машине автоматически устанавливается последняя дополнительная версия расширения. - Она переопределяет
TypeHandlerVersion
последнюю стабильную дополнительную версию. - При обновлении конфигурации виртуальной машины, если доступна новая дополнительная версия, она считается изменением конфигурации. Расширение переустановлено с последней дополнительной версией.
- Таким образом, недавно созданные виртуальные машины соответствуют последней стабильной версии дополнительного расширения.
- Если вы хотите вручную задать расширение определенной версии, задайте для этого свойства значение
false
.
EnableAutomaticUpgrade
:- Это свойство влияет на существующие виртуальные машины.
- Она не влияет на версию, установленную во время создания виртуальной машины.
- После создания виртуальной машины, если виртуальная машина не выполняет последнюю дополнительную версию расширения, включите это свойство для активации автоматического обновления.
- Обновления не вызывают перезагрузку виртуальной машины и развертываются в безопасном последовательном режиме. Сбой обновления откатываются немедленно, чтобы обеспечить высокий уровень доступности и надежности службы.
- Существующие виртуальные машины остаются безопасными и актуальными, автоматически обновляя их до последней дополнительной версии.
Рекомендуется включить оба свойства, чтобы обеспечить безопасность и актуальность всех виртуальных машин.
Обновления до основных версий расширений никогда не выполняются автоматически с помощью обоих свойств, так как основные версии могут включать критические изменения. Необходимо вручную установить TypeHandlerVersion
основную версию и вручную обновить каждую существующую виртуальную машину до последней основной версии.