Habilitar extensões de VM do Azure usando o Azure PowerShell
Este artigo explica como implantar, atualizar e desinstalar extensões de máquina virtual (VM) do Azure suportadas por servidores habilitados para Azure Arc. Ele mostra como executar essas tarefas em uma máquina híbrida Linux ou Windows usando o Azure PowerShell.
Nota
Os servidores habilitados para Azure Arc não oferecem suporte à implantação e ao gerenciamento de extensões de VM em máquinas virtuais do Azure. Para VMs do Azure, consulte o artigo de visão geral da extensão de VM.
Pré-requisitos
Um computador com o Azure PowerShell. Para obter instruções, consulte Instalar e configurar o Azure PowerShell.
O módulo
Az.ConnectedMachine
. Antes de usar o Azure PowerShell para gerenciar extensões de VM em seu servidor híbrido gerenciado por servidores habilitados para Azure Arc, você precisa instalar este módulo.Pode executar estas operações de gestão a partir da sua estação de trabalho. Você não precisa executá-los no servidor habilitado para Azure Arc.
Execute o seguinte comando em seu servidor habilitado para Azure Arc:
Install-Module -Name Az.ConnectedMachine
Ativar uma extensão
Para habilitar uma extensão de VM em seu servidor habilitado para Azure Arc, use New-AzConnectedMachineExtension
com os -Name
parâmetros , -ResourceGroupName
, -MachineName
, , -Location
, -Publisher
, -ExtensionType
, e -Settings
.
O exemplo a seguir habilita a Extensão de Script Personalizada 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 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 \
ao "
arquivo settings.json fará com que akvvm_service
falhe com o seguinte erro: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.
Embora os usuários do PowerShell geralmente usem a \"
sequência para escapar das 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 Cofre da Chave 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 Datadog VM
O exemplo a seguir habilita a extensão Datadog VM 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 em seu servidor habilitado para Azure Arc, use Get-AzConnectedMachineExtension
com os -MachineName
parâmetros e -ResourceGroupName
.
Eis um exemplo:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Atualizar uma configuração de extensão
Para reconfigurar uma extensão instalada, você pode usar o Update-AzConnectedMachineExtension
cmdlet com os -Name
parâmetros , -MachineName
, -ResourceGroupName
e -Settings
.
Para entender os métodos para fornecer as alterações desejadas na extensão, consulte o artigo de referência do cmdlet.
Extensões de atualização
Quando uma nova versão de uma extensão de VM suportada é lançada, você pode atualizá-la para essa versão mais recente. Para atualizar uma extensão de VM, use Update-AzConnectedExtension
com os -MachineName
parâmetros , -ResourceGroupName
e -ExtensionTarget
.
Para o -ExtensionTarget
parâmetro, 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, vá para a página Extensões do servidor habilitado para Azure 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 ambas:
- Uma lista de extensões separadas por vírgula, definida pelo editor e pelo tipo (separados por um 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 Get-AzConnectedMachineExtension
. O TypeHandlerVersion
valor da propriedade representa a versão da extensão.
Remover extensões
Para remover uma extensão de VM instalada em seu servidor habilitado para Azure Arc, use Remove-AzConnectedMachineExtension
com os -Name
parâmetros , -MachineName
e -ResourceGroupName
.
Conteúdos relacionados
- 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.
- Você pode encontrar informações de solução de problemas no guia para solução de problemas de extensões de VM.