Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo explica o processo de uso da API REST do Azure para disparar uma avaliação e uma implantação de atualização em seus servidores habilitados para Azure Arc com o Gerenciador de Atualizações do Azure no Azure. Se você não estiver familiarizado com o Gerenciador de Atualizações do Azure e quiser saber mais, consulte Visão geral do Gerenciador de Atualizações. Para usar a API REST do Azure para gerenciar máquinas virtuais do Azure, confira Como trabalhar programaticamente com máquinas virtuais do Azure.
O Gerenciador de Atualizações no Azure permite que você use a API REST do Azure para acesso de forma programática. Além disso, você pode usar os comandos REST adequados do Azure PowerShell e da CLI do Azure.
O suporte para a API REST do Azure para gerenciar servidores habilitados para Azure Arc está disponível por meio da extensão de máquina virtual do Gerenciador de Atualizações.
Avaliação de atualização
Para disparar uma avaliação de atualização no servidor habilitado para Azure Arc, especifique a seguinte solicitação POST:
Para especificar a solicitação POST, você pode usar o comando az rest da CLI do Azure.
az rest --method post --url https://management.azure.com/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/assessPatches?api-version=2020-08-15-preview --body @body.json
Implantação de atualizações
Para disparar uma implantação de atualização no servidor habilitado para Azure Arc, especifique a seguinte solicitação POST:
POST on `subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/machineName/installPatches?api-version=2020-08-15-preview`
Corpo da solicitação
A tabela a seguir descreve os elementos do corpo da solicitação:
| Propriedade | Descrição |
|---|---|
maximumDuration |
Tempo máximo em minutos que a operação de atualização do sistema operacional pode levar. Ela deve ser uma cadeia de caracteres de duração em conformidade com a ISO 8601, como PT100M. |
rebootSetting |
Sinalizar para indicar se você deve reiniciar o computador, indica se o Gerenciador de Atualizações do Azure (AUM) deve reiniciar o computador como parte da tarefa de atualização. Os valores aceitáveis são: IfRequired, NeverReboot, AlwaysReboot. |
windowsParameters |
Opções de parâmetro para atualização do SO convidado no computador que executa um sistema operacional do Microsoft Windows Server com suporte. |
windowsParameters - classificationsToInclude |
Lista de categorias ou classificações de atualizações do SO a serem aplicadas, conforme oferecido suporte e fornecido pelo SO do Windows Server. Os valores aceitáveis são: Critical, Security, UpdateRollup, FeaturePack, ServicePack, Definition, Tools, Update |
windowsParameters - kbNumbersToInclude |
Lista de IDs de KB do Windows Update que estão disponíveis para o computador e que você precisa instalar. Se você tiver incluído ''classificationsToInclude''', os KBs disponíveis na categoria serão instalados. O ''kbNumbersToInclude'' é uma opção para fornecer uma lista de IDs de KB específicas, além das que você quer instalar. Por exemplo: 1234 |
windowsParameters - kbNumbersToExclude |
Lista de IDs de KB do Windows Update que estão disponíveis para o computador e que não devem ser instaladas. Se você tiver incluído ''classificationsToInclude'', os KBs disponíveis na categoria serão instalados. O 'kbNumbersToExclude' é uma opção para fornecer uma lista de IDs de KB específicas que você quer garantir que não sejam instaladas. Por exemplo: 5678 |
maxPatchPublishDate |
Isso é usado para instalar patches que foram publicados em ou antes dessa data máxima publicada. |
linuxParameters |
Opções de parâmetro para atualização do SO convidado quando o computador está executando a distribuição Linux com suporte |
linuxParameters - classificationsToInclude |
Lista de categorias ou classificações de atualizações do sistema operacional a serem aplicadas, conforme suporte e fornecido pelo gerenciador de pacotes do sistema operacional Linux usado. Os valores aceitáveis são: Critical, Security, Others. Para obter mais informações, consulte o Gerenciador de pacotes do Linux e suporte ao SO. |
linuxParameters - packageNameMasksToInclude |
Lista de pacotes do Linux que estão disponíveis para o computador e precisam ser instalados. Se você tiver incluído ''classificationsToInclude'', os pacotes disponíveis na categoria serão instalados. O ''packageNameMasksToInclude'' é uma opção para fornecer uma lista de pacotes, além dos que você quer instalar. Por exemplo: mysql, libc=1.0.1.1, kernel* |
linuxParameters - packageNameMasksToExclude |
Lista de pacotes do Linux que estão disponíveis para o computador e não devem ser instalados. Se você tiver incluído ''classificationsToInclude'', os pacotes disponíveis na categoria serão instalados. O 'packageNameMasksToExclude' é uma opção para fornecer uma lista de pacotes específicos que você quer garantir que não sejam instalados. Por exemplo: mysql, libc=1.0.1.1, kernel* |
Para especificar a solicitação POST, você pode usar o comando az rest da CLI do Azure.
az rest --method post --url https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/Test/providers/Microsoft.HybridCompute/machines/WIN-8/installPatches?api-version=2020-08-15-preview @body.json
O formato do corpo da solicitação para a versão 2020-08-15 é o seguinte:
{
"maximumDuration": "PT120M",
"rebootSetting": "IfRequired",
"windowsParameters": {
"classificationsToInclude": [
"Security",
"UpdateRollup",
"FeaturePack",
"ServicePack"
],
"kbNumbersToInclude": [
"11111111111",
"22222222222222"
],
"kbNumbersToExclude": [
"333333333333",
"55555555555"
]
}
}
Criar um agendamento de configuração de manutenção
Para criar um agendamento de configuração de manutenção, especifique a seguinte solicitação PUT:
PUT on `/subscriptions/<subscriptionId>/resourceGroups/<resourceGroup>/providers/Microsoft.Maintenance/maintenanceConfigurations/<maintenanceConfigurationsName>?api-version=2021-09-01-preview`
Corpo da solicitação
A tabela a seguir descreve os elementos do corpo da solicitação:
| Propriedade | Descrição |
|---|---|
id |
Identificador totalmente qualificado do recurso |
location |
Obter ou definir local do recurso |
name |
Nome do recurso |
properties.extensionProperties |
Obter ou definir a extensionProperties da maintenanceConfiguration |
properties.maintenanceScope |
Obter ou definir maintenanceScope da configuração |
properties.maintenanceWindow.duration |
Duração da janela de manutenção no formato HH:MM. Se não for fornecido, o valor padrão será usado com base no escopo de manutenção fornecido. Exemplo: 05:00. |
properties.maintenanceWindow.expirationDateTime |
Data de validade efetiva da janela de manutenção no formato DD-MM-AAAA HH:MM. A janela será criada no fuso horário fornecido para o horário de verão de acordo com esse fuso horário. Você deve definir a data de validade como uma data futura. Se não for fornecida, ela será definida como o datetime máximo 31/12/9999 23h59m59s59. |
properties.maintenanceWindow.recurEvery |
Taxa na qual é esperada que uma janela de manutenção se repita. A taxa pode ser expressa como agendamento diário, semanal ou mensal. Você pode formatar agendas diárias como recurEvery: [Frequência como inteiro]['Dia(s)']. Se nenhuma frequência for fornecida, a frequência padrão será 1. Os exemplos de agendamento diário são recurEvery: Day, recurEvery: 3Days. Os formatos de agendamento semanal são especificados como recurEvery: [Frequência como número inteiro]['Semana(s)'] [Lista de dias da semana, opcional, separada por vírgulas, de segunda a domingo]. Os exemplos de agenda semanal são recurEvery: 3Weeks, recurEvery: Week Saturday, Sunday. Você pode formatar agendamentos mensais como [Frequência como inteiro]['Mês(s)'] [Lista separada por vírgulas de dias do mês] ou [Frequência como inteiro]['Mês(s)'] [Semana do Mês (Primeira, Segunda, Terceira, Quarta, Última)] [Dia da Semana de Segunda a Domingo]. Os exemplos de agendamento mensal são recurEvery: Month, recurEvery: 2Months, recurEvery: Month day23, day24, recurEvery: Month Last Sunday, recurEvery: Month Fourth Monday. |
properties.maintenanceWindow.startDateTime |
Data de início efetiva da janela de manutenção no formato DD-MM-AAAA HH:MM. Você pode definir a data de início como a data atual ou a data futura. A janela será criada no fuso horário fornecido e ajustada ao horário de verão de acordo com esse fuso horário. |
properties.maintenanceWindow.timeZone |
Nome do fuso horário. Você pode obter a lista de fusos horários executando [System.TimeZoneInfo]:GetSystemTimeZones() no PowerShell. Exemplo: Hora Oficial do Pacífico, UTC, Hora Oficial do Oeste Europeu, Hora Oficial da Coreia do Sul, Cen. Hora Oficial da Austrália. |
properties.namespace |
Obtém ou define o namespace do recurso |
properties.visibility |
Obtém ou define a visibilidade da configuração. O valor padrão é 'Custom' |
systemData |
Os metadados do Azure Resource Manager que contêm as informações createdBy e modifiedBy. |
tags |
Obtém ou define as marcas do recurso |
type |
Tipo do recurso |
az maintenance configuration create \
--resource-group myMaintenanceRG \
--resource-name myConfig \
--maintenance-scope InGuestPatch \
--location eastus \
--maintenance-window-duration "02:00" \
--maintenance-window-recur-every "20days" \
--maintenance-window-start-date-time "2022-12-30 07:00" \
--maintenance-window-time-zone "Pacific Standard Time" \
--install-patches-linux-parameters package-name-masks-to-exclude="ppt" package-name-masks-to-include="apt" classifications-to-include="Other" \
--install-patches-windows-parameters kb-numbers-to-exclude="KB123456" kb-numbers-to-include="KB123456" classifications-to-include="FeaturePack" \
--reboot-setting "IfRequired" \
--extension-properties InGuestPatchMode="User"
Associar uma VM a um agendamento
Para associar um agendamento de configuração de manutenção a uma VM, especifique a seguinte solicitação PUT:
PUT on `<ARC or Azure VM resourceId>/providers/Microsoft.Maintenance/configurationAssignments/<configurationAssignment name>?api-version=2021-09-01-preview`
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/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Remover o computador do agendamento
Para remover um computador do agendamento, obtenha todos os nomes de atribuição de configuração para o computador que você criou para associar o computador ao agendamento atual do Azure Resource Graph, conforme listado:
az maintenance configuration delete \
--resource-group myMaintenanceRG \
--location eastus \
--resource-name myVM \
--resource-type virtualMachines \
--provider-name Microsoft.Compute \
--configuration-assignment-name myConfig \
--maintenance-configuration-id "/subscriptions/{subscription ID}/resourcegroups/myMaintenanceRG/providers/Microsoft.Maintenance/maintenanceConfigurations/myConfig"
Próximas etapas
- Para exibir os logs de avaliação e implantação de atualização gerados pelo Gerenciador de Atualizações, consulte os logs de consulta
- Para solucionar problemas, consulte o Gerenciador de Atualizações de Solução de Problemas
- Referência do módulo Az.Maintenance do PowerShell