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
-Name
New-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 -Name
parametri , -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 -MachineName
parametri , -ResourceGroupName
e -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 -Name
parametri , -MachineName
e -ResourceGroupName
.
Contenuto correlato
- È possibile distribuire, gestire e rimuovere le estensioni di macchina virtuale usando l'interfaccia della riga di comando di Azure, il portale di Azure o i modelli di Azure Resource Manager.
- È possibile trovare informazioni sulla risoluzione dei problemi nella guida per la risoluzione dei problemi relativi alle estensioni delle macchine virtuali.