Condividi tramite


Abilitare le estensioni di macchine virtuali di Azure con Azure PowerShell

Questo articolo illustra come distribuire, aggiornare e disinstallare le estensioni macchina virtuale (VM) nei server abilitati per Azure Arc usando Azure PowerShell.

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 anziché nel server abilitato per Azure Arc.

    Eseguire il comando seguente per installare il modulo Az.ConnectedMachine:

    Install-Module -Name Az.ConnectedMachine
    

Abilitare un'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.

Questo esempio 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

Questo esempio 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"

Questo esempio abilita l'estensione macchina virtuale Key Vault in un server abilitato per Azure Arc:

Avviso

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

Anche se gli utenti di PowerShell usano in genere la sequenza \" per fare l'escape delle virgolette in altri blocchi di codice, dovresti evitare questa formattazione nel file 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

Questo esempio 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

Suggerimento

Molte altre estensioni sono supportate nei server abilitati per Arc. Per informazioni dettagliate, vedere Gestione delle estensioni macchina virtuale con server abilitati per Azure Arc.

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 :

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 altri dettagli, vedere Update-AzConnectedMachineExtension.

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 di estensioni delimitate da virgole, definite in base al relativo editore e tipo (separati 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.

Suggerimento

Molte estensioni di macchina virtuale possono essere configurate per gli aggiornamenti automatici.

Rimuovere le estensioni

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