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
- 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 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 -Name
parametri , -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 -Name
parametri , -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 -MachineName
parametri , -ResourceGroupName
e -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 -Name
parametri 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
È possibile distribuire, gestire e rimuovere le estensioni della macchina virtuale usando l'interfaccia della riga di comando di Azure, dai modelli di portale di Azure o Azure Resource Manager.
Le informazioni sulla risoluzione dei problemi sono disponibili nella guida Risolvere i problemi relativi alle estensioni della macchina virtuale.