Habilitar as extensões de VM do Azure usando o Azure PowerShell
Este artigo explica como implantar, atualizar e desinstalar as extensões de VM do Azure, com suporte dos servidores habilitados para Azure Arc, em um computador híbrido do Linux ou do Windows usando o Azure PowerShell.
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
- Um computador com o PowerShell do Azure. Para obter instruções, consulte Instalar e configurar o PowerShell do Azure.
Antes de usar o Azure PowerShell para gerenciar as extensões de VM no servidor híbrido gerenciado por servidores habilitados para Azure Arc, instale o módulo Az.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 no servidor habilitado para Azure Arc:
Install-Module -Name Az.ConnectedMachine
.
Quando a instalação for concluída, a seguinte mensagem será retornada:
The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.
Habilitar extensão
Para habilitar uma extensão de VM no servidor habilitado para Azure Arc, use New-AzConnectedMachineExtension com os parâmetros -Name
, -ResourceGroupName
, -MachineName
, -Location
, -Publisher
, -ExtensionType
e -Settings
.
O exemplo a seguir habilita a extensão de script personalizado em um servidor habilitado para Azure Arc:
$Setting = @{ "commandToExecute" = "powershell.exe -c Get-Process" }
New-AzConnectedMachineExtension -Name "custom" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Compute" -Settings $Setting -ExtensionType CustomScriptExtension
O exemplo a seguir habilita a extensão de Microsoft Antimalware em um servidor Windows habilitado para Azure Arc:
$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"
Extensão de VM do Key Vault
Aviso
Adicionar \
a "
no settings.json fará com que o akvvm_service falhe com o seguinte erro: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.
Embora os usuários do Powershell normalmente usem a sequência \"
para escapar aspas em outros blocos de código, você deve evitar essa formatação no arquivo settings.json.
O exemplo a seguir habilita a extensão de VM do Key Vault em um servidor habilitado para Azure Arc:
# Build settings
$settings = @{
secretsManagementSettings = @{
observedCertificates = @(
"observedCert1"
)
certificateStoreLocation = "myMachineName" # For Linux use "/var/lib/waagent/Microsoft.Azure.KeyVault.Store/"
certificateStore = "myCertificateStoreName"
pollingIntervalInS = "pollingInterval"
}
authenticationSettings = @{
msiEndpoint = "http://localhost:40342/metadata/identity"
}
}
$resourceGroup = "resourceGroupName"
$machineName = "myMachineName"
$location = "regionName"
# Start the deployment
New-AzConnectedMachineExtension -ResourceGroupName $resourceGroup -Location $location -MachineName $machineName -Name "KeyVaultForWindows or KeyVaultforLinux" -Publisher "Microsoft.Azure.KeyVault" -ExtensionType "KeyVaultforWindows or KeyVaultforLinux" -Setting $settings
Extensão de VM do Datadog
O seguinte exemplo habilita a extensão de VM do Datadog em um servidor habilitado para Azure Arc:
$resourceGroup = "resourceGroupName"
$machineName = "machineName"
$location = "machineRegion"
$osType = "Windows" # change to Linux if appropriate
$settings = @{
# change to your preferred Datadog site
site = "us3.datadoghq.com"
}
$protectedSettings = @{
# change to your Datadog API key
api_key = "APIKEY"
}
New-AzConnectedMachineExtension -ResourceGroupName $resourceGroup -Location $location -MachineName $machineName -Name "Datadog$($osType)Agent" -Publisher "Datadog.Agent" -ExtensionType "Datadog$($osType)Agent" -Setting $settings -ProtectedSetting $protectedSettings
Listar extensões instaladas
Para obter uma lista das extensões de VM no servidor habilitado para Azure Arc, use Get-AzConnectedMachineExtension com os parâmetros -MachineName
e -ResourceGroupName
.
Exemplo:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Atualizar configuração de extensão
Para reconfigurar uma extensão instalada, você pode usar o cmdlet Update-AzConnectedMachineExtension com os parâmetros -Name
, -MachineName
, -ResourceGroupName
e -Settings
.
Consulte o artigo de referência do cmdlet para entender os diferentes métodos para fornecer as alterações que você deseja para a extensão.
Atualizar a extensão
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 Update-AzConnectedExtension com os parâmetros -MachineName
, -ResourceGroupName
e -ExtensionTarget
.
Para o parâmetro -ExtensionTarget
, 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, visite a página Extensões do servidor habilitado para Arc selecionado no portal do Azure ou execute Get-AzVMExtensionImage. Você pode especificar várias extensões em uma única solicitação de atualização fornecendo uma lista de extensões separadas por vírgulas, definidas por seu editor e tipo (separados por um ponto) e a versão de destino de cada extensão.
Você pode revisar a versão das extensões de VM instaladas a qualquer momento, executando o comando Get-AzConnectedMachineExtension. O valor da propriedade TypeHandlerVersion
representa a versão da extensão.
Remover extensões
Para remover uma extensão de VM instalada no servidor habilitado para Azure Arc, use Remove-AzConnectedMachineExtension com os parâmetros -Name
, -MachineName
e -ResourceGroupName
.
Próximas etapas
Você pode implantar, gerenciar e remover extensões de VM usando a CLI do Azure, o portal do Azure ou os modelos do Azure Resource Manager.
As informações de solução de problemas podem ser encontradas no guia Solução de problemas nas extensões de VM.