Compartir a través de


Actualización automática de extensiones para máquinas virtuales y conjuntos de escalado en Azure

La actualización automática de extensiones está disponible para Azure Virtual Machines y Azure Virtual Machine Scale Sets. Cuando la actualización automática de extensiones está habilitada en una máquina virtual (VM) o un conjunto de escalado, Azure supervisa automáticamente las nuevas versiones de extensión, evalúa la calidad y seguridad de la nueva versión, aprueba la versión para su lanzamiento y, a continuación, actualiza automáticamente todas las máquinas virtuales mediante la extensión. Azure actualiza todas las máquinas virtuales gradualmente siguiendo los procedimientos de implementación seguros (SDP) para evitar que la versión incorrecta provoque interrupciones y garantice una alta disponibilidad para las aplicaciones. Esta implementación gradual puede tardar entre 1 y 2 meses en completarse en función del tiempo necesario para la evaluación, la gravedad de la actualización y la escala de las máquinas virtuales necesarias para actualizarse.

La actualización automática de extensiones tiene las siguientes características:

  • Se admiten máquinas virtuales de Azure, conjuntos de escalado de máquinas virtuales y máquinas virtuales de Arc .
  • Las actualizaciones se aplican en un modelo de implementación centrado en la disponibilidad siguiendo las (Prácticas de Implementación Seguras)[/azure/well-architected/operational-excellence/safe-deployments] (SDP).
  • En el caso de un conjunto de escalado de máquinas virtuales, de forma predeterminada, no se actualizan más de 20% de las máquinas virtuales del conjunto de escalado en un único lote. Este tamaño de lote se puede cambiar definiendo la directiva de actualización gradual de VMSS.
  • En el caso de las máquinas virtuales de Azure y las máquinas virtuales de Arc, no se actualizan más de 20% de las máquinas virtuales en un solo lote. Este tamaño de lote no se puede cambiar.
  • Todas las actualizaciones con errores se revierten automáticamente para intentar devolver la máquina virtual al estado correcto.
  • Las actualizaciones no requieren reinicio. Por lo tanto, la máquina virtual no necesita un reinicio después de la actualización.
  • Se admiten todos los tamaños de máquina virtual.
  • Las extensiones de Windows y Linux son compatibles.
  • Las actualizaciones automáticas están habilitadas de forma predeterminada iniciando la versión 2025-04-01de la API .
  • Cada extensión admitida se inscribe individualmente. Puede elegir qué extensiones actualizar automáticamente.
  • Se admiten todas las regiones de nube públicas, soberanas y aisladas.

¿Cómo funciona la actualización automática de extensiones?

El proceso de actualización de la extensión quita la extensión existente en una máquina virtual y vuelve a instalar la extensión con la nueva versión.

  1. Cuando el publicador de extensiones publica una nueva versión de la misma extensión, Azure detecta la nueva versión e inicia un proceso de evaluación de calidad. Este proceso valida la versión para actualizaciones seguras en términos de seguridad y calidad sin fallos. La versión se aprueba para la implementación una vez que pasa la evaluación.
  2. Azure comienza con una región o zona (el lanzamiento comienza desde la región canaria) y una vez que se actualiza por completo, pasa a la siguiente región o zona.
  3. Dentro de una región o zona, Azure agrupa las máquinas virtuales en lotes más pequeños (en función de las directivas de actualización predeterminadas o graduales) y actualiza un lote cada vez. Azure se mueve al siguiente lote una vez que el lote anterior se actualiza correctamente.
  4. Azure supervisa el estado de la máquina virtual y la aplicación (mediante la extensión estado de la aplicación) después de la actualización para detectar errores. Si la máquina virtual no está en buen estado en cinco minutos después de la actualización, la actualización se reversión y se instala la versión anterior de la extensión. La actualización se reintenta automáticamente después de algún tiempo sin necesidad de intervención del cliente.

Actualizaciones priorizando la disponibilidad

El modelo de disponibilidad primero para las actualizaciones orquestadas por la plataforma garantiza que se respeten las configuraciones de disponibilidad en Azure en varios niveles de disponibilidad.

Para un grupo de máquinas virtuales (VMs) que están realizando una actualización, la plataforma Azure organiza las actualizaciones entre regiones, dentro de una región y dentro de un conjunto.

Entre regiones

  • Una actualización se mueve en Azure globalmente por fases para evitar errores de implementación en esta plataforma.
  • Una fase puede tener una o varias regiones y una actualización se mueve entre fases solo si las máquinas virtuales (VMs) aptas de la fase anterior se actualizan correctamente.
  • Las regiones emparejadas geográficamente no se actualizan simultáneamente y no pueden estar en la misma fase regional.
  • El éxito de una actualización se mide realizando un seguimiento del estado de la máquina virtual después de la actualización. El estado de la máquina virtual se rastrea a través de indicadores de estado de la plataforma para la máquina virtual (Estado de la máquina virtual y Estado de la aplicación notificado por la extensión App Health)

Dentro de una región

  • Las máquinas virtuales (VMs) de distintas zonas de disponibilidad no se actualizan simultáneamente con la misma actualización.
  • Las máquinas virtuales (VMs) únicas que no forman parte de un conjunto de disponibilidad se procesan por lotes con el máximo esfuerzo para evitar actualizaciones simultáneas para todas las máquinas virtuales de una suscripción.

Dentro de un conjunto

  • Todas las máquinas virtuales de un conjunto de disponibilidad o de un conjunto de escalado común no se actualizan de forma simultánea.
  • Las máquinas virtuales (VMs) de un conjunto de disponibilidad común se actualizan dentro de los límites del dominio de actualización. Las máquinas virtuales (VMs) en varios dominios de actualización no se actualizan simultáneamente.
  • Las máquinas virtuales (VMs) de un conjunto de escalado de máquinas virtuales comunes se agrupan en lotes y se actualizan dentro de los límites del dominio de actualización. Directivas de actualización definidas en el conjunto de escalado se respetan durante la actualización. Cada grupo se actualiza mediante una estrategia de actualización gradual.

Proceso de actualización de conjuntos de escalado de máquinas virtuales

  • Antes de comenzar el proceso de actualización, el orquestador se asegura de que no haya más del 20 % de las máquinas virtuales de todo el conjunto de escalado en mal estado (por cualquier motivo).
  • El orquestrador de actualización identifica el lote de instancias de máquina virtual que se va a actualizar. Un lote de actualización puede tener un máximo del 20 % del recuento total de máquinas virtuales, sujeto a un tamaño de lote mínimo de una máquina virtual. El orquestador considera la definición de la directiva de actualización y las zonas de disponibilidad mientras se identifica el lote.
  • Después de la actualización, el estado de la máquina virtual siempre se supervisa antes de pasar al siguiente lote. En el caso de los conjuntos de escalado con sondeos de estado de la aplicación configurados o la extensión Application Health, también se supervisa el estado de la aplicación. La actualización espera hasta cinco minutos (o la configuración de sondeo de estado definida) para que la máquina virtual esté en buen estado antes de actualizar el siguiente lote. Si una máquina virtual no recupera su estado después de una actualización, de manera predeterminada, se vuelve a instalar la versión de extensión anterior en la máquina virtual.
  • El orquestador de la actualización también realiza un seguimiento del porcentaje de máquinas virtuales que tienen un estado incorrecto después de una actualización. La actualización se detiene si más del 20 % de las instancias actualizadas pasan a estar en mal estado durante el proceso de actualización.

Este proceso continúa hasta que se actualizan todas las instancias del conjunto de escalado.

El orquestador de la actualización del conjunto de escalado comprueba el estado global del conjunto de escalado antes de actualizar cada lote. Durante una actualización por lotes, otras actividades de mantenimiento planeadas o no planeadas simultáneas podrían afectar al estado de las máquinas virtuales (VMs) del conjunto de escalado. En tales casos, si más del 20 % de las instancias del conjunto de escalado están en mal estado, la actualización del conjunto de escalado se detiene al final del lote actual.

Extensiones compatibles

Para comprobar si las extensiones son compatibles con la actualización automática, consulte la hoja Actualización automática en Azure Portal: extensión.

Captura de pantalla que muestra si se admite la extensión para la actualización automática en Azure Portal.

A continuación, se admiten extensiones populares para las actualizaciones automáticas (y se agregan más periódicamente):

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

Habilitación de la actualización automática de extensiones

Para habilitar la actualización automática de extensiones para una extensión, debe asegurarse de que la propiedad enableAutomaticUpgrade esté establecida en true y se agregue a cada definición de extensión individualmente.

Uso de Azure Portal

En Azure Portal, use el panel Extensión para habilitar la actualización automática de extensiones en máquinas virtuales existentes y conjuntos de escalado de máquinas virtuales.

  1. Vaya al panel Máquinas virtuales o Conjuntos de escalado de máquinas virtuales y seleccione el nombre del recurso.

  2. En Configuración, vaya al panel Extensiones y aplicaciones , que muestra todas las extensiones instaladas en el recurso. La columna Estado de actualización automática muestra si la actualización automática de la extensión está habilitada, deshabilitada o no admitida.

  3. Seleccione el nombre de la extensión para abrir el panel Detalles de extensiones .

    Recorte de pantalla que muestra el panel Extensiones en Azure Portal.

  4. Seleccione Habilitar actualización automática para habilitar la actualización automática de la extensión. Use este botón para deshabilitar una actualización automática, si es necesario.

    Recorte de pantalla que muestra La habilitación de la actualización automática en Azure Portal.

Para máquinas virtuales

Para habilitar la actualización automática de extensiones para una extensión (en este ejemplo, la extensión Dependency Agent) en una máquina virtual de Azure, use la siguiente llamada:

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"
        }
}

Para conjuntos de escalado de máquinas virtuales

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

Estas operaciones establecen la propiedad enableAutomaticUpgrade en true el recurso del conjunto de escalado de máquinas virtuales, pero no en las máquinas virtuales (VMs) subyacentes.

Si el conjunto de escalado de la máquina virtual define el modo de actualización automática o continua en el upgradeProfile, el conjunto de escalado de la máquina virtual propaga automáticamente el cambio a cada máquina virtual subyacente.

Si el conjunto de escalado de máquinas virtuales define el modo manual en upgradeProfile, también debe actualizar manualmente cada instancia y propagar el cambio a cada máquina virtual subyacente.


Actualizaciones de extensiones con varias extensiones

Una máquina virtual o un conjunto de escalado de máquinas virtuales puede tener varias extensiones con la actualización automática de extensiones habilitada. La misma máquina virtual o conjunto de escalado también puede tener otras extensiones sin la actualización automática de extensiones habilitada.

Si hay varias actualizaciones de extensión disponibles para una máquina virtual, las actualizaciones se pueden procesar por lotes juntas, pero cada actualización de extensión se aplica individualmente en una máquina virtual. Un error en una extensión no afecta a las otras extensiones que podrían estar actualizando. Por ejemplo, si se programan dos extensiones para una actualización y se produce un error en la primera actualización de la extensión, la segunda extensión todavía se actualiza.

También puede aplicar la actualización automática de extensiones cuando una máquina virtual o un conjunto de escalado de máquinas virtuales tiene varias extensiones configuradas con secuenciación de extensiones. La secuenciación de extensiones es para la primera implementación de la máquina virtual. Las actualizaciones futuras de extensiones en una extensión se aplican de forma independiente.

Diferencia entre EnableAutomaticUpgrade y AutoUpgradeMinorVersion

  • AutoUpgradeMinorVersion:

    • Esta propiedad se usa durante la creación de la máquina virtual y mientras actualiza la máquina virtual con una nueva configuración.
    • Cuando se establece en true, garantiza que la versión secundaria más reciente de la extensión se instala automáticamente en la máquina virtual.
    • Invalida el TypeHandlerVersion con la versión secundaria estable más reciente disponible.
    • Al actualizar la configuración de la máquina virtual, si hay disponible una nueva versión secundaria, se considera un cambio de configuración. La extensión se vuelve a instalar con la versión secundaria más reciente.
    • De este modo, las máquinas virtuales (VMs) recién creadas se mantienen al día con la versión de extensión secundaria estable más reciente.
    • Si desea establecer manualmente la extensión en una versión específica, establezca esta propiedad en false.
  • EnableAutomaticUpgrade:

    • Esta propiedad afecta a las máquinas virtuales (VMs) existentes.
    • No afecta a la versión instalada durante la creación de la máquina virtual.
    • Después de la creación de la máquina virtual, si la máquina virtual no ejecuta la versión secundaria más reciente de la extensión, habilite esta propiedad para desencadenar una actualización automática.
    • Las actualizaciones no provocan el reinicio de la máquina virtual y se implementan de forma gradual segura. Las actualizaciones con errores se revierten inmediatamente para proporcionar alta disponibilidad y confiabilidad del servicio.
    • Las máquinas virtuales (VMs) existentes permanecen seguras y actualizadas actualizando automáticamente a la versión secundaria más reciente.

Se recomienda habilitar ambas propiedades para ayudar a mantener todas las máquinas virtuales (VMs) seguras y actualizadas.

Las actualizaciones a las versiones de extensión principales nunca se realizan automáticamente mediante ninguna de las propiedades, ya que las versiones principales pueden incluir cambios importantes. Debe establecer manualmente TypeHandlerVersion en una versión principal y actualizar manualmente cada máquina virtual existente a la versión principal más reciente.

Paso siguiente