Habilitar as extensões de VM do Azure usando a CLI do Azure

Este artigo mostra como implantar, fazer, upgrade, atualizar e desinstalar as extensões de VM, com suporte dos servidores habilitados para Azure Arc, para um computador híbrido Linux ou Windows, usando a CLI do Azure.

Observação

Os servidores habilitados para Azure Arc não são compatíveis com a implantação e o gerenciamento de extensões de VM para máquinas virtuais do Azure. Para VMs do Azure, confira o artigo Visão geral da extensão de VM a seguir.

Pré-requisitos

Instale a extensão da CLI do Azure

Os comandos ConnectedMachine não são enviados como parte da CLI do Azure. Antes de usar a CLI do Azure para se conectar ao Azure e gerenciar as extensões de VM no servidor híbrido gerenciado por servidores habilitados para Azure Arc, é necessário carregar a extensão ConnectedMachine. Essas operações de gerenciamento podem ser executadas em sua estação de trabalho, não sendo necessário executá-las no servidor habilitado para Azure Arc.

Execute o seguinte comando para entender:

az extension add --name connectedmachine

Habilitar extensão

Para habilitar uma extensão de VM no servidor habilitado para Azure Arc, use az connectedmachine extension create com os parâmetros --machine-name, --extension-name, --location, --type, settings e --publisher.

O exemplo a seguir habilita a extensão de VM do Log Analytics em um servidor habilitado para Azure Arc:

az connectedmachine extension create --machine-name "myMachineName" --name "OmsAgentForLinux or MicrosoftMonitoringAgent" --location "regionName" --settings '{\"workspaceId\":\"myWorkspaceId\"}' --protected-settings '{\"workspaceKey\":\"myWorkspaceKey\"}' --resource-group "myResourceGroup" --type-handler-version "1.13" --type "OmsAgentForLinux or MicrosoftMonitoringAgent" --publisher "Microsoft.EnterpriseCloud.Monitoring" 

O exemplo a seguir habilita a extensão de script personalizado em um servidor habilitado para Azure Arc:

az connectedmachine extension create --machine-name "myMachineName" --name "CustomScriptExtension" --location "regionName" --type "CustomScriptExtension" --publisher "Microsoft.Compute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -gt 10000 }\\\"\"}" --type-handler-version "1.10" --resource-group "myResourceGroup"

O exemplo a seguir habilita a extensão de VM do Key Vault em um servidor habilitado para Azure Arc:

az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.KeyVault" --type "KeyVaultForLinux or KeyVaultForWindows" --name "KeyVaultForLinux or KeyVaultForWindows" --settings '{"secretsManagementSettings": { "pollingIntervalInS": "60", "observedCertificates": ["observedCert1"] }, "authenticationSettings": { "msiEndpoint": "http://localhost:40342/metadata/identity" }}'

O exemplo a seguir habilita a extensão de Microsoft Antimalware em um servidor Windows habilitado para Azure Arc:

az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.Security" --type "IaaSAntimalware" --name "IaaSAntimalware" --settings '"{\"AntimalwareEnabled\": \"true\"}"'

O seguinte exemplo habilita a extensão do Datadog em um servidor Windows habilitado para Azure Arc:

az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Datadog.Agent" --type "DatadogWindowsAgent" --settings '{"site": "us3.datadoghq.com"}' --protected-settings '{"api_key": "YourDatadogAPIKey" }'

Listar extensões instaladas

Para obter uma lista das extensões de VM no servidor habilitado para Azure Arc, use az connectedmachine extension list com os parâmetros --machine-name e --resource-group.

Exemplo:

az connectedmachine extension list --machine-name "myMachineName" --resource-group "myResourceGroup"

Por padrão, a saída de comandos da CLI do Azure é em JSON (JavaScript Object Notation). Para alterar a saída padrão para uma lista ou tabela, por exemplo, use az config set core.output=table. Você também pode adicionar --output a qualquer comando para realizar uma alteração uma única vez no formato da saída.

O exemplo a seguir mostra a saída JSON parcial do comando az connectedmachine extension -list:

[
  {
    "autoUpgradingMinorVersion": "false",
    "forceUpdateTag": null,
    "id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/SVR01/extensions/DependencyAgentWindows",
    "location": "regionName",
    "name": "DependencyAgentWindows",
    "namePropertiesInstanceViewName": "DependencyAgentWindows",

Atualizar configuração de extensão

Algumas extensões de VM exigem definições de configuração para instalá-las no servidor habilitado para Arc, como a extensão de script personalizado e a extensão de VM do agente do Log Analytics. Para atualizar a configuração de uma extensão, use az connectedmachine extension update.

O exemplo a seguir mostra como configurar a extensão de script personalizado:

az connectedmachine extension update --name "CustomScriptExtension" --type "CustomScriptExtension" --publisher "Microsoft.HybridCompute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -lt 100 }\\\"\"}" --type-handler-version "1.10" --machine-name "myMachine" --resource-group "myResourceGroup"

Atualizar extensões

Quando uma nova versão de uma extensão de VM com suporte for lançada, você poderá atualizá-la para a versão mais recente. Para atualizar uma extensão de VM, use az connectedmachine upgrade-extension com os parâmetros --machine-name, --resource-group e --extension-targets.

Para o parâmetro --extension-targets, você precisa especificar a extensão e a versão mais recente disponível. Para descobrir qual é a versão mais recente disponível, você pode obter essas informações na página Extensões do servidor habilitado para Arc selecionado no portal do Azure ou executando uma lista de imagens de extensão az vm. É possível especificar várias extensões em uma única solicitação de atualização fornecendo uma lista separada por vírgulas de extensões, definidas por seu editor e tipo (separados por um ponto) e a versão de destino para cada extensão, conforme mostrado no exemplo a seguir.

Para atualizar a extensão do agente do Log Analytics para Windows que possui uma versão mais recente disponível, execute o seguinte comando:

az connectedmachine upgrade-extension --machine-name "myMachineName" --resource-group "myResourceGroup" --extension-targets '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'

Você pode revisar a versão das extensões de VM instaladas a qualquer momento, executando o comando az connectedmachine extension list. O valor da propriedade typeHandlerVersion representa a versão da extensão.

Remover extensões

Para remover uma extensão de VM no servidor habilitado para Azure Arc, use az connectedmachine extension delete com os parâmetros --extension-name, --machine-name e --resource-group.

Por exemplo, para remover a extensão de VM do Log Analytics para Linux, execute o seguinte comando:

az connectedmachine extension delete --machine-name "myMachineName" --name "OmsAgentForLinux" --resource-group "myResourceGroup"

Próximas etapas