Abilitare le estensioni di macchina virtuale di Azure con Azure PowerShell

Questo articolo illustra come distribuire, aggiornare e disinstallare le estensioni di macchine virtuali di Azure, supportate dai server abilitati per Azure Arc, in un computer ibrido Linux o Windows con 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 di 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 Az.ConnectedMachine modulo. 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 vm nel server abilitato per Azure Arc, usare New-Az Connessione edMachineExtension con i -Nameparametri , -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 -ExtensionType parametro in "MicrosoftMonitoringAgent" nell'esempio precedente.

L'esempio seguente abilita l'estensione script personalizzata 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 macchina virtuale di Key Vault

Avviso

I client PowerShell spesso si aggiungono \ a " nel file settings.json che causerà un errore akvvm_service: [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 macchina virtuale 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 di macchina virtuale nel server abilitato per Azure Arc, usare Get-Az Connessione edMachineExtension con i -MachineName parametri 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-Az Connessione edMachineExtension con i -Nameparametri , -MachineName-ResourceGroupName, e -Settings .

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

Aggiornare l'estensione

Quando viene rilasciata una nuova versione di un'estensione vm supportata, è possibile eseguirne l'aggiornamento a tale versione più recente. Per aggiornare un'estensione di macchina virtuale, usare Update-Az Connessione edExtension con i -MachineNameparametri , -ResourceGroupNamee -ExtensionTarget .

Per il -ExtensionTarget parametro è necessario specificare l'estensione e la versione più recente disponibile. Per scoprire qual è la versione più recente disponibile, è possibile ottenere queste informazioni dalla pagina Estensioni per il server abilitato per Arc selezionato nel portale di Azure oppure eseguendo Get-AzVMExtensionImage. È possibile specificare più estensioni in una singola richiesta di aggiornamento fornendo un elenco delimitato da virgole di estensioni, definito dal relativo server di pubblicazione e tipo (separato 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-Az Connessione edMachineExtension. Il TypeHandlerVersion valore della proprietà rappresenta la versione dell'estensione.

Rimuovere le estensioni

Per rimuovere un'estensione vm installata nel server abilitato per Azure Arc, usare Remove-Az Connessione edMachineExtension con i -Nameparametri e -MachineName-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