Compartir vía


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, la extensión se actualiza automáticamente cada vez que el publicador de extensiones publica una nueva versión para esa extensión.

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

  • Se admiten máquinas virtuales (VMs) de Azure y conjuntos de escalado de máquinas virtuales.
  • Las actualizaciones se aplican según un modelo de implementación de orden de disponibilidad.
  • En el caso de un conjunto de escalado de máquinas virtuales, no más del 20 % de las actualizaciones de máquina virtual del conjunto de escalado se encuentran en un único lote. El tamaño mínimo del lote es una máquina virtual.
  • Todos los tamaños de máquina virtual y las extensiones de Windows y Linux son compatibles.
  • Las actualizaciones automáticas son opcionales en cualquier momento.
  • Los conjuntos de escalado de máquinas virtuales de cualquier tamaño están habilitados.
  • Cada extensión admitida se inscribe individualmente. Puede elegir qué extensiones actualizar automáticamente.
  • Se admiten todas las regiones de nube pública.

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

El proceso de actualización de extensiones reemplaza la versión de extensión existente en una máquina virtual cada vez que el publicador de extensiones publica una nueva versión de la misma extensión. El estado de la máquina virtual se supervisa después de instalar la nueva extensión. Si el estado de la máquina virtual no es correcto a los cinco minutos de finalizar la actualización, la versión de la extensión se revierte a la versión anterior.

Las actualizaciones de extensiones con errores se reintentan automáticamente. Los reintentos se realizan cada pocos días automáticamente sin la intervención del usuario.

Actualizaciones por orden de 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 seguimiento del estado de la máquina virtual se realiza a través de los indicadores de estado de la plataforma de la máquina virtual. En el caso de los conjuntos de escalado de máquinas virtuales, el estado de la máquina virtual se realiza mediante sondeos de estado de la aplicación o la extensión Application Health, si se aplica al conjunto de escalado.

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 admitidas

La actualización automática de extensiones admite las siguientes extensiones (y se agregan más periódicamente):


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 (VMs) existentes y conjuntos de escalado de máquinas virtuales.

  1. Vaya al panel Virtual Machines o Panel de 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 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"
            		}
          	    }
        	    ]
    	    }
    	}
    }
}

Nota:

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