Atualizações de controlo com Configurações de Manutenção e o CLI Azure
Aplica-se a: ✔️ VMs ✔️ Linux Windows VMs Conjuntos de escala ✔️ flexível conjuntos ✔️ de escala uniforme
As Configurações de Manutenção permitem-lhe decidir quando aplicar atualizações da plataforma a vários recursos Azure. Este tópico abrange as opções Azure CLI para anfitriões dedicados e VMs isolados. Para obter mais sobre os benefícios da utilização de Configurações de Manutenção, as suas limitações e outras opções de gestão, consulte Atualizações da plataforma de Gestão com Configurações de Manutenção.
Importante
Existem diferentes âmbitos que suportam certos tipos e horários de máquinas, por isso certifique-se de que está a selecionar o âmbito certo para a sua máquina virtual.
Criar uma configuração de manutenção
Utilize az maintenance configuration create
para criar uma configuração de manutenção. Este exemplo cria uma configuração de manutenção chamada myConfig telescópio para o anfitrião.
az group create \
--location eastus \
--name myMaintenanceRG
az maintenance configuration create \
-g myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope host\
--location eastus
Copie o ID de configuração da saída para utilizar mais tarde.
A utilização --maintenance-scope host
garante que a configuração de manutenção é utilizada para controlar atualizações na infraestrutura do anfitrião.
Se tentar criar uma configuração com o mesmo nome, mas num local diferente, terá um erro. Os nomes de configuração devem ser exclusivos do seu grupo de recursos.
Pode consultar as configurações de manutenção disponíveis utilizando az maintenance configuration list
.
az maintenance configuration list --query "[].{Name:name, ID:id}" -o table
Criar uma configuração de manutenção com janela programada
Também pode declarar uma janela agendada quando o Azure aplicará as atualizações dos seus recursos. Este exemplo cria uma configuração de manutenção chamada myConfig com uma janela programada de 5 horas na quarta segunda-feira de cada mês. Uma vez que crie uma janela programada, já não terá de aplicar as atualizações 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
A duração da manutenção deve ser de 2 horas ou mais.
A recorrência da manutenção pode ser expressa diariamente, semanal ou mensalmente. Alguns exemplos incluem:
- diariamente- manutenção-janela-recur-cada: "Dia" ou "3Days"
- semanalmente- manutenção-janela-recur-cada: "3Weeks" ou "Week Saturday,Sunday"
- mensal: "Mês dia23,dia 24" ou "Mês último domingo" ou "Quarta Segunda-feira do mês" ou "Quarta Segunda-feira mês"
Atribuir a configuração
Utilize az maintenance assignment create
para atribuir a configuração à sua máquina.
VM isolado
Aplique a configuração num VM utilizando o ID da configuração. Especifique --resource-type virtualMachines
e forneça o nome do VM para --resource-name
, e o grupo de recursos para o VM em --resource-group
, e a localização do VM 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"
Anfitrião dedicado
Para aplicar uma configuração a um anfitrião dedicado, é necessário incluir --resource-type hosts
, --resource-parent-name
com o nome do grupo anfitrião, e --resource-parent-type hostGroups
.
O parâmetro --resource-id
é a identificação do hospedeiro. Você pode usar a visão az-vm-host-get-instance-para obter a identificação do seu anfitrião 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
Configuração de verificação
Pode verificar se a configuração foi aplicada corretamente ou verificar qual a configuração atualmente aplicada utilizando az maintenance assignment list
.
VM isolado
az maintenance assignment list \
--provider-name Microsoft.Compute \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--query "[].{resource:resourceGroup, configName:name}" \
--output table
Anfitrião 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
Verifique se há atualizações pendentes
Utilize az maintenance update list
para ver se existem atualizações pendentes. Atualização -subscrição para ser o ID para a subscrição que contém o VM.
Se não houver atualizações, o comando devolverá uma mensagem de erro, que conterá o texto: Resource not found...StatusCode: 404
.
Se houver atualizações, apenas uma será devolvida, mesmo que existam várias atualizações pendentes. Os dados desta atualização serão devolvidos num 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"
}
]
VM isolado
Verifique se há atualizações pendentes de um VM isolado. Neste exemplo, a saída é formatada como uma tabela de legibilidade.
az maintenance update list \
-g myMaintenanceRg \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
-o table
Anfitrião dedicado
Para verificar se há atualizações pendentes para um anfitrião dedicado. Neste exemplo, a saída é formatada como uma tabela de legibilidade. Substitua os valores pelos recursos pelos seus.
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
Aplicar atualizações
Utilize az maintenance apply update
para aplicar atualizações pendentes. No sucesso, este comando devolverá JSON contendo os detalhes da atualização. Aplicar chamadas de atualização pode demorar até 2 horas para ser concluída.
VM isolado
Crie um pedido para aplicar atualizações a um VM isolado.
az maintenance applyupdate create \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute
Anfitrião dedicado
Aplique atualizações a um anfitrião 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
Verifique o estado da aplicação de atualizações
Pode verificar o andamento das atualizações utilizando az maintenance applyupdate get
.
Pode utilizar default
como nome de atualização para ver os resultados da última atualização, ou substituir myUpdateName
pelo nome da atualização que foi devolvida quando executou 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á o momento em que a atualização foi concluída, iniciada por si ou pela plataforma no caso de não ser utilizada a janela de auto-manutenção. Se nunca tiver havido uma atualização aplicada através do controlo de manutenção, mostrará o valor predefinido.
VM isolado
az maintenance applyupdate get \
--resource-group myMaintenanceRG \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--apply-update-name default
Anfitrião 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
Excluir uma configuração de manutenção
Utilize az maintenance configuration delete
para eliminar uma configuração de manutenção. A eliminação da configuração remove o controlo de manutenção dos recursos associados.
az maintenance configuration delete \
--subscription 1111abcd-1a11-1a2b-1a12-123456789abc \
-g myResourceGroup \
--resource-name myConfig
Passos seguintes
Para saber mais, consulte Manutenção e atualizações.