Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Автоматическое обновление расширений доступно для виртуальных машин Azure и масштабируемых наборов виртуальных машин Azure. Если автоматическое обновление расширений включено на виртуальной машине или масштабируемом наборе, Azure автоматически отслеживает новые версии расширений, оценивает качество и безопасность новой версии, утверждает версию для развертывания, а затем автоматически обновляет все виртуальные машины с помощью расширения. Azure обновляет все виртуальные машины постепенно, следуя методам безопасного развертывания (SDP), чтобы предотвратить сбои из-за неправильно функционирующих версий и обеспечить высокую доступность приложений. Это постепенное развертывание может занять 1–2 месяца, чтобы завершиться в зависимости от времени, необходимого для оценки, серьезности обновления и масштаба виртуальных машин, необходимых для обновления.
Автоматическое обновление расширений имеет следующие особенности:
- Поддерживаются виртуальные машины Azure, масштабируемые наборы виртуальных машин и виртуальные машины Arc .
- Обновления применяются в модели развертывания с приоритетом доступности (методы безопасного развертывания)[/azure/well-architected/operational-excellence/safe-deployments] (SDP).
- Для масштабируемого набора виртуальных машин по умолчанию не более 20% виртуальных машин масштабируемого набора обновляются в одном пакете. Этот размер пакета можно изменить, определив политику последовательного обновления VMSS.
- Для виртуальных машин Azure и виртуальных машин Arc не более 20% виртуальных машин обновляются в одном пакете. Этот размер пакета нельзя изменить.
- Все неудачные обновления автоматически откатываются, чтобы попытаться вернуть виртуальную машину в работоспособное состояние.
- Все обновления не перезагружаются. Поэтому после обновления виртуальная машина не нуждается в перезагрузке.
- Поддерживаются все размеры виртуальных машин.
- Расширения Windows и Linux совместимы.
- Автоматические обновления включены по умолчанию начиная с версии API
2025-04-01. - Каждое поддерживаемое расширение регистрируется по отдельности. Вы можете выбрать, какие расширения следует обновлять автоматически.
- Поддерживаются все общедоступные, суверенные и изолированные облачные регионы.
Как работает автоматическое обновление расширений?
Процесс обновления расширения удаляет существующее расширение на виртуальной машине и переустановит расширение с новой версией.
- Когда издатель расширения публикует новую версию того же расширения, Azure обнаруживает новую версию и запускает процесс оценки качества. Этот процесс проверяет версию для обеспечения безопасности, качества и безопасного обновления без сбоев. Версия утверждена для развертывания после прохождения оценки.
- Azure начинается с одного региона или зоны (развертывание начинается с канарского региона), и после полного обновления он переходит к следующему региону или зоне.
- В пределах региона или зоны Azure группирует виртуальные машины в небольшие пакеты (на основе политик по умолчанию или последовательному обновлению) и обновляет один пакет за раз. Azure переходит к следующему пакету после успешного обновления предыдущего пакета.
- Azure Monitor следит за работоспособностью виртуальных машин и приложений (с помощью расширения App Health) после обновления для обнаружения сбоев. Если виртуальная машина не является работоспособной в течение пяти минут после обновления, происходит откат обновления и устанавливается предыдущая версия расширения. Обновление автоматически выполняется после некоторого времени без вмешательства клиента.
Обновления с приоритетом на доступность
Модель с приоритетом доступности для обновлений, управляемых платформой, гарантирует, что конфигурации доступности в Azure соблюдаются на нескольких уровнях доступности.
Для группы виртуальных машин, проходящих обновление, платформа Azure управляет обновлениями между регионами, в пределах региона и в наборе.
Между регионами
- Обновление выполняется по всему миру в Azure поэтапно, чтобы предотвратить сбои развертывания на уровне Azure.
- Этап может иметь один или несколько регионов, и обновление перемещается между этапами, только если соответствующие виртуальные машины успешно обновлены на предыдущем этапе.
- Геопарированные регионы одновременно не обновляются и не могут находиться на одном и том же региональном этапе.
- Успешное обновление измеряется путем отслеживания работоспособности после обновления виртуальной машины. Работоспособность виртуальных машин отслеживается по индикаторам состояния платформы для виртуальной машины (состояние виртуальных машин и состояние приложений, сообщает расширение состояния приложений).
В пределах региона
- Виртуальные машины в разных зонах доступности не обновляются одновременно с тем же обновлением.
- Отдельные виртуальные машины, которые не являются частью группы доступности, пакетируются на основе лучших усилий, чтобы избежать одновременных обновлений для всех виртуальных машин в подписке.
Внутри набора
- Все виртуальные машины в общей группе доступности или группе масштабирования не обновляются одновременно.
- Виртуальные машины в одной группе доступности обновляются в пределах границ домена обновлений. Виртуальные машины в нескольких доменах обновления не обновляются одновременно.
- Виртуальные машины в общем масштабируемом наборе виртуальных машин группируются в пакетах и обновляются в пределах границ домена обновления. Политики обновления, определенные в масштабируемом наборе, соблюдаются во время обновления. Каждая группа обновляется с помощью стратегии последовательного обновления.
Процесс обновления для наборов масштабируемых виртуальных машин
- Перед началом процесса обновления оркестратор гарантирует, что не более 20% виртуальных машин во всем масштабируемом наборе неработоспособны (по какой-либо причине).
- Оркестратор обновления определяет пакет экземпляров виртуальных машин для обновления. Пакет обновления может иметь не более 20 % от общего количества виртуальных машин, при условии минимального размера пакета одной виртуальной машины. Оркестратор учитывает определение политики обновления и зоны доступности при идентификации пакета.
- После обновления состояние виртуальной машины всегда отслеживается перед переходом к следующей группе. Для масштабируемых наборов с настроенными зондами работоспособности приложения или расширением работоспособности приложений, также отслеживается работоспособность приложений. Обновление ожидает до пяти минут (или согласно определенной конфигурации проверки работоспособности), чтобы виртуальная машина стала работоспособной, перед обновлением следующего пакета. Если виртуальная машина не восстанавливает работоспособность после обновления, то по умолчанию будет переустановлена предыдущая версия расширения на виртуальной машине.
- Оркестратор обновления также отслеживает процент виртуальных машин, которые становятся неработоспособными после обновления. Обновление останавливается, если более 20% обновленных экземпляров становятся неработоспособными во время процесса обновления.
Этот процесс продолжается до обновления всех экземпляров в масштабируемом наборе.
Оркестратор обновления масштабируемого набора проверяет общую работоспособность масштабируемого набора перед обновлением каждого пакета. Во время пакетного обновления другие параллельно выполняемые планируемые или незапланированные работы по обслуживанию могут повлиять на работоспособность виртуальных машин масштабируемого набора. В таких случаях, если более 20% экземпляров масштабируемого набора становятся неработоспособными, обновление масштабируемого набора останавливается в конце текущего пакета.
Поддерживаемые расширения
Чтобы проверить, поддерживаются ли ваши расширения для автоматического обновления, просмотрите статус автоматического обновления на платформе 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 | IaaSAntimalware |
| 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 | ServiceFabricNode |
| 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
На портале Azure используйте область расширения, чтобы включить автоматическое обновление расширений на существующих виртуальных машинах и масштабируемых наборах виртуальных машин.
Перейдите на панель виртуальных машин или масштабируемых наборов виртуальных машин и выберите имя ресурса.
В разделе "Параметры" перейдите в область "Расширения и приложения ", в которой отображаются все расширения, установленные на ресурсе. Столбец состояния автоматического обновления показывает, включен ли автоматическое обновление расширения, отключено или не поддерживается.
Выберите имя расширения, чтобы открыть область сведений о расширениях .
Выберите "Включить автоматическое обновление", чтобы включить автоматическое обновление расширения. При необходимости используйте эту кнопку, чтобы отключить автоматическое обновление.
Для виртуальных машин
Чтобы включить автоматическое обновление расширения, например расширения Dependency Agent, на виртуальной машине 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 для масштабируемого набора виртуальных машин установлен ручной режим, необходимо также вручную обновить каждый экземпляр и распространить изменения на каждую базовую виртуальную машину.
Обновление расширений с использованием нескольких расширений
У виртуальной машины или масштабируемого набора виртуальных машин может быть несколько расширений с включенным автоматическим обновлением расширений. Те же виртуальные машины или масштабируемый набор также могут иметь другие расширения без включения автоматического обновления расширений.
Если для виртуальной машины доступно несколько обновлений расширений, обновления могут быть пакетированы вместе, но каждое обновление расширения применяется отдельно на виртуальной машине. Сбой одного расширения не влияет на другие расширения, которые могут обновляться. Например, если для обновления запланировано два расширения, а первое обновление расширения завершается сбоем, второй модуль по-прежнему обновляется.
Вы также можете применить автоматическое обновление расширений, если виртуальная машина или масштабируемый набор виртуальных машин имеет несколько расширений, настроенных с помощью последовательности расширений. Последовательность настройки расширений осуществляется при первом развертывании виртуальной машины. Любые будущие обновления расширений применяются независимо друг от друга.
Разница между EnableAutomaticUpgrade и AutoUpgradeMinorVersion
AutoUpgradeMinorVersion:- Это свойство используется во время создания виртуальной машины и при обновлении виртуальной машины с новой конфигурацией.
- Если задано значение
true, оно гарантирует, что на виртуальной машине автоматически устанавливается последняя дополнительная версия расширения. - Она заменяет
TypeHandlerVersionна последнюю доступную стабильную минорную версию. - При улучшении конфигурации виртуальной машины, если доступна новая минорная версия, это считается изменением конфигурации. Расширение переустанавливается с последней минорной версией.
- Таким образом, недавно созданные виртуальные машины обновляются до последней стабильной минорной версии расширения.
- Если вы хотите вручную задать расширение на конкретную версию, установите это свойство в
false.
EnableAutomaticUpgrade:- Это свойство влияет на существующие виртуальные машины.
- Она не влияет на версию, установленную во время создания виртуальной машины.
- После создания виртуальной машины, если виртуальная машина не выполняет последнюю дополнительную версию расширения, включите это свойство для активации автоматического обновления.
- Обновления не вызывают перезагрузку виртуальной машины и развертываются в безопасном последовательном режиме. Неудачное обновление откатывается немедленно, чтобы обеспечить высокий уровень доступности и надежности службы.
- Существующие виртуальные машины остаются безопасными и актуальными, автоматически обновляя их до последней дополнительной версии.
Рекомендуется включить оба свойства, чтобы обеспечить безопасность и актуальность всех виртуальных машин.
Обновления до основных версий расширений никогда не выполняются автоматически с помощью обоих свойств, так как основные версии могут включать критические изменения. Необходимо вручную установить TypeHandlerVersion на основную версию и вручную обновить каждую существующую виртуальную машину до последней основной версии.