Compartilhar via


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

Esse artigo explica como implantar, atualizar e desinstalar extensões de VM (máquina virtual) com suporte para servidores habilitados para Azure Arc. Ele mostra como executar essas tarefas em um computador híbrido do Linux ou do Windows usando a CLI do Azure.

Observação

Os servidores habilitados para Azure Arc não dão suporte à implantação e gerenciamento de extensões de VM em máquinas virtuais do Azure. Para VMs do Azure, confira o artigo Visão geral da extensão de VM.

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.

Você pode executar essas operações de gerenciamento na sua estação de trabalho. Não é necessário executá-las no servidor habilitado para Azure Arc.

Execute o seguinte comando para instalar a extensão ConnectedMachine da CLI do Azure:

az extension add --name connectedmachine

Habilitar uma extensão

Para habilitar uma extensão de VM no seu 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 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 Azure 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.

Veja um 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 apenas uma 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 uma configuração de extensão

Algumas extensões de VM exigem configurações para que seja possível instalá-las em um servidor habilitado para Azure Arc (como a Extensão de Script Personalizado). 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 determinar a versão mais recente disponível para uma extensão, acesse a página Extensões para o servidor habilitado para Azure Arc selecionado no portal do Azure ou execute lista de imagens de extensão az vm. Você pode especificar várias extensões em uma única solicitação de atualização fornecendo ambos:

  • Uma lista de extensões separadas por vírgula, definidas por seu fornecedor e tipo (separadas por ponto)
  • A versão de destino para cada extensão

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 instalada do servidor habilitado para Azure Arc, use az connectedmachine extension delete com os parâmetros --extension-name, --machine-name e --resource-group.