Condividi tramite


Abilitare le estensioni di macchine virtuali 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. Illustra come eseguire queste attività 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.

Prerequisiti

  • Un computer con Azure PowerShell. Per istruzioni, vedere Come installare e configurare Azure PowerShell.

  • Il modulo Az.ConnectedMachine Prima di usare Azure PowerShell per gestire le estensioni vm nel server ibrido gestito dai server abilitati per Azure Arc, è necessario installare questo modulo.

    È possibile eseguire queste operazioni di gestione dalla workstation. Non è necessario eseguirli nel server abilitato per Azure Arc.

    Eseguire il comando seguente nel server abilitato per Azure Arc:

Install-Module -Name Az.ConnectedMachine

Abilitare un'estensione

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

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

L'aggiunta \ a " nel file di settings.json causerà akvvm_service un errore simile al seguente: [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.

Anche se gli utenti di PowerShell usano in genere la sequenza per eseguire l'escape \" delle virgolette in altri blocchi di codice, è consigliabile evitare tale formattazione nel file settings.json.

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 di macchina virtuale nel server abilitato per Azure Arc, usare Get-AzConnectedMachineExtension con i -MachineName parametri e -ResourceGroupName .

Ecco un esempio:

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

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

Aggiornare una configurazione dell'estensione

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

Per comprendere i metodi per fornire le modifiche desiderate all'estensione, vedere l'articolo di riferimento per il cmdlet .

Aggiornare le estensioni

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 -MachineNameparametri , -ResourceGroupNamee -ExtensionTarget .

Per il parametro -ExtensionTarget è necessario specificare l'estensione e la versione più recente disponibile. Per determinare la versione più recente disponibile per un'estensione, passare alla pagina Estensioni per il server abilitato per Azure Arc selezionato nel portale di Azure o eseguire Get-AzVMExtensionImage. È possibile specificare più estensioni in una singola richiesta di aggiornamento specificando entrambi:

  • Elenco delimitato da virgole di estensioni, definito dal relativo editore e tipo (separato da un punto)
  • Versione di destinazione per ogni estensione

È 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 -Nameparametri , -MachineNamee -ResourceGroupName .