Control de las actualizaciones mediante configuraciones de mantenimiento y la CLI de Azure
Se aplica a: ✔️ Máquinas virtuales Linux ✔️ Máquinas virtuales Windows ✔️ Conjuntos de escalado flexibles ✔️ Conjuntos de escalado uniformes
Las configuraciones de mantenimiento permiten decidir cuándo aplicar actualizaciones de plataforma a varios recursos de Azure. En este tema se abordan las opciones de la CLI de Azure para hosts dedicados y máquinas virtuales aisladas. Para obtener más información sobre las ventajas de usar las configuraciones de mantenimiento, sus limitaciones y otras opciones de administración, consulte Administración de actualizaciones de plataforma con configuraciones de mantenimiento.
Importante
Hay distintos ámbitos que admiten determinados tipos de máquina y programaciones, así que asegúrese de que seleccionar el ámbito adecuado para la máquina virtual.
Creación de una configuración de mantenimiento
Use az maintenance configuration create
para crear una configuración de mantenimiento. En este ejemplo se crea una configuración de mantenimiento denominada myConfig en el ámbito del host.
az group create \
--location eastus \
--name myMaintenanceRG
az maintenance configuration create \
-g myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope host\
--location eastus
Copie el identificador de configuración de la salida para usarlo más adelante.
El uso de --maintenance-scope host
garantiza que la configuración de mantenimiento se utiliza para controlar las actualizaciones de la infraestructura de host.
Si intenta crear una configuración con el mismo nombre, pero en una ubicación diferente, obtendrá un error. Los nombres de configuración deben ser únicos dentro de su grupo de recursos.
Puede consultar las configuraciones de mantenimiento disponibles mediante az maintenance configuration list
.
az maintenance configuration list --query "[].{Name:name, ID:id}" -o table
Creación de una configuración de mantenimiento con una ventana programada
También puede declarar una ventana programada cuando Azure vaya a aplicar las actualizaciones en los recursos. En este ejemplo se crea una configuración de mantenimiento denominada myConfig con una ventana programada de 5 horas el cuarto lunes de cada mes. Una vez que cree una ventana programada, ya no tendrá que aplicar las actualizaciones manualmente.
az maintenance configuration create \
-g 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"
Importante
La duración del mantenimiento debe ser de 2 horas o más.
La periodicidad del mantenimiento puede expresarse como programaciones diarias, semanales o mensuales. Ejemplos:
- daily- maintenance-window-recur-every: "Day" o "3Days"
- weekly- maintenance-window-recur-every: "3Weeks" o "Week Saturday,Sunday"
- monthly- maintenance-window-recur-every: "Month day23,day24" o "Month Last Sunday" o "Month Fourth Monday"
Asignación de la configuración
Use az maintenance assignment create
para asignar la configuración a la máquina.
Máquina virtual aislada
Aplique la configuración a una máquina virtual con el identificador de la configuración. Especifique --resource-type virtualMachines
y proporcione el nombre de la máquina virtual para --resource-name
, y el grupo de recursos para la máquina virtual en --resource-group
, así como la ubicación de la máquina virtual para --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/1111abcd-1a11-1a2b-1a12-123456789abc/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Host dedicado
Para aplicar una configuración a un host dedicado, debe incluir --resource-type hosts
, --resource-parent-name
con el nombre del grupo host y --resource-parent-type hostGroups
.
El parámetro --resource-id
es el identificador del host. Puede usar az-vm-host-get-instance-view para obtener el identificador del host dedicado.
az maintenance assignment create \
-g myDHResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/1111abcd-1a11-1a2b-1a12-123456789abc/resourcegroups/myDhResourceGroup/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig" \
-l eastus \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Comprobación de configuración
Puede verificar que la configuración se aplicó correctamente o consultar qué configuración se aplica actualmente mediante az maintenance assignment list
.
Máquina virtual aislada
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Host dedicado
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}" \
-o table
Búsqueda de actualizaciones pendientes
Use az maintenance update list
para ver si hay actualizaciones pendientes. Actualice --subscription para que sea el identificador de la suscripción que contiene la máquina virtual.
Si no hay ninguna actualización, el comando devolverá un mensaje de error, que contendrá el texto: Resource not found...StatusCode: 404
.
Si hay actualizaciones, solo se devolverá una, aunque haya varias actualizaciones pendientes. Los datos de esta actualización se devolverán en un objeto:
[
{
"impactDurationInSec": 9,
"impactType": "Freeze",
"maintenanceScope": "Host",
"notBefore": "2020-03-03T07:23:04.905538+00:00",
"resourceId": "/subscriptions/9120c5ff-e78e-4bd0-b29f-75c19cadd078/resourcegroups/DemoRG/providers/Microsoft.Compute/hostGroups/demoHostGroup/hosts/myHost",
"status": "Pending"
}
]
Máquina virtual aislada
Compruebe si hay actualizaciones pendientes para una máquina virtual aislada. En este ejemplo, se aplica a la salida formato de tabla para facilitar la lectura.
az maintenance update list \
-g myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
-o table
Host dedicado
Compruebe si hay actualizaciones pendientes para un host dedicado. En este ejemplo, se aplica a la salida formato de tabla para facilitar la lectura. Reemplace los valores de los recursos por los suyos propios.
az maintenance update list \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-g myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parentname myHostGroup \
--resource-parent-type hostGroups \
-o table
Aplicación de actualizaciones
Use az maintenance apply update
para aplicar actualizaciones pendientes. Si se ejecuta correctamente, este comando devolverá el archivo JSON que contiene los detalles de la actualización. La aplicación de llamadas de actualización puede tardar hasta 2 horas en completarse.
Máquina virtual aislada
Cree una solicitud para aplicar actualizaciones a una máquina virtual aislada.
az maintenance applyupdate create \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Host dedicado
Aplique las actualizaciones a un host dedicado.
az maintenance applyupdate create \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
--resource-group myHostResourceGroup \
--resource-name myHost \
--resource-type hosts \
--provider-name Microsoft.Compute \
--resource-parent-name myHostGroup \
--resource-parent-type hostGroups
Comprobación del estado de aplicación de las actualizaciones
Puede comprobar el progreso de las actualizaciones mediante az maintenance applyupdate get
.
Puede usar default
como nombre de la actualización para ver los resultados de la última actualización o reemplazar myUpdateName
por el nombre de la actualización que se devolvió cuando se ejecutó az maintenance applyupdate create
.
Status : Completed
ResourceId : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso
LastUpdateTime : 1/1/2020 12:00:00 AM
Id : /subscriptions/12ae7457-4a34-465c-94c1-17c058c2bd25/resourcegroups/TestShantS/providers/Microsoft.Comp
ute/virtualMachines/DXT-test-04-iso/providers/Microsoft.Maintenance/applyUpdates/default
Name : default
Type : Microsoft.Maintenance/applyUpdates
LastUpdateTime será la hora a la que se completó la actualización, tanto si la inició el usuario o la plataforma en caso de que no se usara la ventana de mantenimiento automático. Si nunca se ha aplicado una actualización mediante el control de mantenimiento, se mostrará el valor predeterminado.
Máquina virtual aislada
az maintenance applyupdate get \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--apply-update-name default
Host dedicado
az maintenance applyupdate get \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
--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
Eliminación de una configuración de mantenimiento
Use az maintenance configuration delete
para eliminar una configuración de mantenimiento. Al eliminar la configuración se quita el control de mantenimiento de los recursos asociados.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-g myResourceGroup \
--resource-name myConfig
Pasos siguientes
Para obtener más información, consulte Mantenimiento y actualizaciones.