Condividi tramite


Abilitare le estensioni VM di Azure usando Azure PowerShell

Questo articolo illustra come distribuire, aggiornare e disinstallare le estensioni della macchina virtuale di Azure, supportate dai server abilitati per Azure Arc, in un computer ibrido Linux o Windows usando Azure PowerShell.

Nota

I server abilitati per Azure Arc non supportano la distribuzione e la gestione delle estensioni di macchina virtuale nelle macchine virtuali di Azure. Per le macchine virtuali di Azure, vedere l'articolo Panoramica dell'estensione della macchina virtuale seguente.

Prerequisiti

Prima di usare Azure PowerShell per gestire le estensioni VM nel server ibrido gestito dai server abilitati per Azure Arc, è necessario installare il modulo Az.ConnectedMachine. Queste operazioni di gestione possono essere eseguite dalla workstation, non è necessario eseguirle nel server abilitato per Azure Arc.

Eseguire il comando seguente nel server abilitato per Azure Arc:

Install-Module -Name Az.ConnectedMachine.

Al termine dell'installazione, viene restituito il messaggio seguente:

The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.

Abilitare l'estensione

Per abilitare un'estensione di macchina virtuale nel server abilitato per Azure Arc, usare New-AzConnectedMachineExtension con i parametri -Name, -ResourceGroupName, -MachineName, -Location, -Publisher, -ExtensionType e -Settings.

L'esempio seguente abilita l'estensione macchina virtuale Log Analytics in un server Linux abilitato per 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"

Per abilitare l'estensione VM di Log Analytics in un server Windows abilitato per Azure Arc, modificare il valore del parametro -ExtensionType in "MicrosoftMonitoringAgent" nell'esempio precedente.

L'esempio seguente abilita l'estensione per script personalizzati in un server abilitato per 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

L'esempio seguente abilita l'estensione Microsoft Antimalware in un server Windows abilitato per Azure Arc:

$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"

Estensione VM Key Vault

Avviso

I client PowerShell spesso aggiungono \ a " in settings.json, causando errori di akvvm_service con errore: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

L'esempio seguente abilita l'estensione macchina virtuale Key Vault in un server abilitato per 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

Estensione VM Datadog

L'esempio seguente abilita l'estensione macchina virtuale Datadog in un server abilitato per 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

Elencare le estensioni installate

Per ottenere un elenco delle estensioni della macchina virtuale nel server abilitato per Azure Arc, usare Get-AzConnectedMachineExtension con i parametri -MachineName e -ResourceGroupName.

Esempio:

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

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

Aggiornare la configurazione dell'estensione

Per riconfigurare un'estensione installata, è possibile usare il cmdlet Update-AzConnectedMachineExtension con i parametri -Name, -MachineName, -ResourceGroupName e -Settings.

Fare riferimento all'articolo di riferimento per il cmdlet per comprendere i diversi metodi per apportare le modifiche desiderate all'estensione.

Aggiornare l'estensione

Quando viene rilasciata una nuova versione di un'estensione VM supportata, è possibile eseguirne l'aggiornamento alla versione più recente. Per aggiornare un'estensione di macchina virtuale, usare Update-AzConnectedExtension con i parametri -MachineName, -ResourceGroupName e -ExtensionTarget.

Per il parametro -ExtensionTarget è necessario specificare l'estensione e la versione più recente disponibile. Per scoprire qual è la versione più recente disponibile, è possibile ottenere questa informazione dalla pagina Estensioni per il server abilitato per Arc selezionato nel portale di Azure o eseguendo Get-AzVMExtensionImage. È possibile specificare più estensioni in una singola richiesta di aggiornamento fornendo un elenco di estensioni delimitato da virgole, definito dal relativo server di pubblicazione e tipo (delimitato da un punto) e dalla versione di destinazione per ogni estensione, come illustrato nell'esempio seguente.

Per aggiornare l'estensione dell'agente di Log Analytics per Windows con una versione più recente disponibile, eseguire il comando seguente:

Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'

È possibile esaminare la versione delle estensioni VM installate in qualsiasi momento eseguendo il comando Get-AzConnectedMachineExtension. Il valore della proprietà TypeHandlerVersion rappresenta la versione dell'estensione.

Rimuovere le estensioni

Per rimuovere un'estensione VM installata nel server abilitato per Azure Arc, usare Remove-AzConnectedMachineExtension con i parametri -Name, -MachineName e -ResourceGroupName.

Ad esempio, per rimuovere l'estensione VM di Log Analytics per Linux, eseguire il comando seguente:

Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux

Passaggi successivi