Partilhar via


Ativar extensões do Azure VM usando o Azure PowerShell

Este artigo explica como implantar, atualizar e desinstalar extensões de máquina virtual (VM) em servidores habilitados para Azure Arc usando o Azure PowerShell.

Pré-requisitos

  • Um computador com Azure PowerShell. Para obter instruções, consulte Instalar e configurar o Azure PowerShell.

  • O Az.ConnectedMachine módulo. Antes de usar o Azure PowerShell para gerir as extensões de VM no seu servidor híbrido gerido por servidores com o Azure Arc ativado, precisa de instalar este módulo.

    Você pode executar essas operações de gerenciamento em sua estação de trabalho, em vez de no servidor habilitado para Azure Arc.

    Execute o seguinte comando para instalar o Az.ConnectedMachine módulo:

    Install-Module -Name Az.ConnectedMachine
    

Ativar uma extensão

Para ativar uma extensão de VM no seu servidor habilitado para Azure Arc, utilize New-AzConnectedMachineExtension com os parâmetros -Name, -ResourceGroupName, -MachineName, -Location, -Publisher, -ExtensionType, e -Settings.

Este exemplo 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

Este exemplo 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"

Este exemplo ativa a extensão de VM do Cofre de Chaves num servidor com Azure Arc ativado.

Aviso

Adicionar \ a " no ficheiro 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 utilizadores do PowerShell geralmente utilizem a sequência \" para escapar aspas em outros blocos de código, deverá evitar essa formatação no ficheiro settings.json.

# 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

Este exemplo 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

Sugestão

Muitas outras extensões são suportadas em servidores habilitados para Arc. Para obter detalhes, consulte Gerenciamento de extensão de máquina virtual com servidores habilitados para Azure Arc.

Listar extensões instaladas

Para obter uma lista das extensões de VM no seu servidor ativado pelo Azure Arc, use Get-AzConnectedMachineExtension com os parâmetros -MachineName e -ResourceGroupName.

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

Name    Location  PropertiesType        ProvisioningState
----    --------  --------------        -----------------
custom  westus2   CustomScriptExtension Succeeded

Atualizar a configuração de uma extensão

Para reconfigurar uma extensão instalada, pode utilizar o cmdlet Update-AzConnectedMachineExtension com os parâmetros -Name, -MachineName, -ResourceGroupName e -Settings.

Para obter mais detalhes, veja Update-AzConnectedMachineExtension.

Atualizar extensões

Quando uma nova versão de uma extensão de VM suportada é lançada, pode atualizá-la para essa última versão. Para atualizar uma extensão da VM, utilize Update-AzConnectedExtension com os parâmetros -MachineName, -ResourceGroupName e -ExtensionTarget.

Para o parâmetro -ExtensionTarget, 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, aceda à página de Extensões para o servidor Azure Arc selecionado no portal do Azure ou execute Get-AzVMExtensionImage. Pode especificar múltiplas extensões num único pedido de atualização fornecendo ambos:

  • Uma lista de extensões separada por vírgulas, definida pelo seu editor e tipo (separados por um ponto).
  • A versão alvo para cada extensão

Pode rever 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.

Sugestão

Muitas extensões de VM podem ser configuradas para atualizações automáticas.

Remover extensões

Para remover uma extensão de VM instalada no seu servidor habilitado para Azure Arc, use Remove-AzConnectedMachineExtension com os parâmetros -Name, -MachineName e -ResourceGroupName.