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
- Un computer con Azure PowerShell. Per istruzioni, vedere Come installare e configurare Azure PowerShell.
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
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.
Mentre 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 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 determinare la versione più recente disponibile per un'estensione, visitare la pagina Estensioni per il server abilitato per Arc selezionato nel portale di Azure oppure eseguire 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.
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
È 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.
Le informazioni sulla risoluzione dei problemi sono disponibili nella Guida alla risoluzione dei problemi relativi alle estensioni della macchina virtuale.