Habilitar extensões de VM do Azure usando o Azure PowerShell
Este artigo mostra como implantar, atualizar e desinstalar extensões de VM do Azure, suportadas por servidores habilitados para Azure Arc, 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 seguinte 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.
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 o Az.ConnectedMachine
módulo. Essas operações de gerenciamento podem ser executadas em sua estação de trabalho, você não precisa executá-las no servidor habilitado para Azure Arc.
Execute o seguinte comando em seu 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.
Ativar 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 VM do Log Analytics em um servidor Linux habilitado para Azure Arc:
$Setting = @{ "workspaceId" = "workspaceId" }
$protectedSetting = @{ "workspaceKey" = "workspaceKey" }
New-AzConnectedMachineExtension -Name OMSLinuxAgent -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.EnterpriseCloud.Monitoring" -Settings $Setting -ProtectedSetting $protectedSetting -ExtensionType "OmsAgentForLinux"
Para habilitar a extensão de VM do Log Analytics em um servidor Windows habilitado para Azure Arc, altere o valor do -ExtensionType
parâmetro para "MicrosoftMonitoringAgent"
no exemplo anterior.
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 "
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, convém 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 and -ResourceGroupName
.
Exemplo:
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Atualizar configuração da extensão
Para reconfigurar uma extensão instalada, você pode usar o cmdlet Update-AzConnectedMachineExtension com os -Name
parâmetros , -MachineName
, -ResourceGroupName
e -Settings
.
Consulte o artigo de referência do cmdlet para entender os diferentes métodos para fornecer as alterações desejadas na extensão.
Extensão 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, visite a página Extensões para o 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 separada por vírgulas de extensões, definida por seu editor e tipo (separados por um ponto) e a versão de destino para cada extensão.
Para atualizar a extensão do agente do Log Analytics para Windows que tem uma versão mais recente disponível, execute o seguinte comando:
Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"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 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 e -MachineName
-ResourceGroupName
.
Por exemplo, para remover a extensão de VM do Log Analytics para Linux, execute o seguinte comando:
Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux
Próximos passos
Você pode implantar, gerenciar e remover extensões de VM usando a CLI do Azure, no portal do Azure ou modelos do Azure Resource Manager.
Informações de solução de problemas podem ser encontradas no guia Solucionar problemas de extensões de VM.