Abilitare le estensioni VM di Azure usando l'interfaccia della riga di comando di Azure
Questo articolo illustra come distribuire, aggiornare e disinstallare le estensioni della macchina virtuale, supportate dai server abilitati per Azure Arc, in un computer ibrido Linux o Windows usando l'interfaccia della riga di comando di Azure.
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
Usare l'ambiente Bash in Azure Cloud Shell. Per altre informazioni, vedere Avvio rapido su Bash in Azure Cloud Shell.
Se si preferisce eseguire i comandi di riferimento dell'interfaccia della riga di comando in locale, installare l'interfaccia della riga di comando di Azure. Per l'esecuzione in Windows o macOS, è consigliabile eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker. Per altre informazioni, vedere Come eseguire l'interfaccia della riga di comando di Azure in un contenitore Docker.
Se si usa un'installazione locale, accedere all'interfaccia della riga di comando di Azure con il comando az login. Per completare il processo di autenticazione, seguire la procedura visualizzata nel terminale. Per altre opzioni di accesso, vedere Accedere tramite l'interfaccia della riga di comando di Azure.
Quando richiesto, al primo utilizzo installare l'estensione dell'interfaccia della riga di comando di Azure. Per altre informazioni sulle estensioni, vedere Usare le estensioni con l'interfaccia della riga di comando di Azure.
Eseguire az version per trovare la versione e le librerie dipendenti installate. Per eseguire l'aggiornamento alla versione più recente, eseguire az upgrade.
Installare l'estensione dell'interfaccia della riga di comando di Azure.
I comandi ConnectedMachine non vengono forniti come parte dell'interfaccia della riga di comando di Azure. Prima di usare l'interfaccia della riga di comando di Azure per connettersi ad Azure e gestire le estensioni VM nel server ibrido gestito dai server abilitati per Azure Arc, è necessario caricare l'estensione ConnectedMachine. Queste operazioni di gestione possono essere eseguite dalla workstation, non è necessario eseguirle nel server abilitato per Azure Arc.
Per farlo, eseguire il comando seguente:
az extension add --name connectedmachine
Abilitare l'estensione
Per abilitare un'estensione di macchina virtuale nel server abilitato per Azure Arc, usare az connectedmachine extension create con i parametri --machine-name
, --extension-name
, --location
, --type
, settings
e --publisher
.
L'esempio seguente abilita l'estensione macchina virtuale Log Analytics in un server abilitato per Azure Arc:
az connectedmachine extension create --machine-name "myMachineName" --name "OmsAgentForLinux or MicrosoftMonitoringAgent" --location "regionName" --settings '{\"workspaceId\":\"myWorkspaceId\"}' --protected-settings '{\"workspaceKey\":\"myWorkspaceKey\"}' --resource-group "myResourceGroup" --type-handler-version "1.13" --type "OmsAgentForLinux or MicrosoftMonitoringAgent" --publisher "Microsoft.EnterpriseCloud.Monitoring"
L'esempio seguente abilita l'estensione per script personalizzati in un server abilitato per Azure Arc:
az connectedmachine extension create --machine-name "myMachineName" --name "CustomScriptExtension" --location "regionName" --type "CustomScriptExtension" --publisher "Microsoft.Compute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -gt 10000 }\\\"\"}" --type-handler-version "1.10" --resource-group "myResourceGroup"
L'esempio seguente abilita l'estensione macchina virtuale Key Vault in un server abilitato per Azure Arc:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.KeyVault" --type "KeyVaultForLinux or KeyVaultForWindows" --name "KeyVaultForLinux or KeyVaultForWindows" --settings '{"secretsManagementSettings": { "pollingIntervalInS": "60", "observedCertificates": ["observedCert1"] }, "authenticationSettings": { "msiEndpoint": "http://localhost:40342/metadata/identity" }}'
L'esempio seguente abilita l'estensione Microsoft Antimalware in un server Windows abilitato per Azure Arc:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Microsoft.Azure.Security" --type "IaaSAntimalware" --name "IaaSAntimalware" --settings '"{\"AntimalwareEnabled\": \"true\"}"'
L'esempio seguente abilita l'estensione Datadog in un server Windows abilitato per Azure Arc:
az connectedmachine extension create --resource-group "resourceGroupName" --machine-name "myMachineName" --location "regionName" --publisher "Datadog.Agent" --type "DatadogWindowsAgent" --settings '{"site": "us3.datadoghq.com"}' --protected-settings '{"api_key": "YourDatadogAPIKey" }'
Elencare le estensioni installate
Per ottenere un elenco delle estensioni della macchina virtuale nel server abilitato per Azure Arc, usare az connectedmachine extension list con i parametri --machine-name
e --resource-group
.
Esempio:
az connectedmachine extension list --machine-name "myMachineName" --resource-group "myResourceGroup"
Per impostazione predefinita, l'output del comando dell'interfaccia della riga di comando di Azure è in formato JSON, ovvero JavaScript Object Notation. Per trasformare l'output predefinito in un elenco o in una tabella, ad esempio, usare az config set core.output=table. È possibile anche aggiungere --output
a qualsiasi comando per apportare una modifica una sola volta nel formato di output.
L'esempio seguente illustra l'output JSON parziale ottenuto dal comando az connectedmachine extension -list
:
[
{
"autoUpgradingMinorVersion": "false",
"forceUpdateTag": null,
"id": "/subscriptions/subscriptionId/resourceGroups/resourceGroupName/providers/Microsoft.HybridCompute/machines/SVR01/extensions/DependencyAgentWindows",
"location": "regionName",
"name": "DependencyAgentWindows",
"namePropertiesInstanceViewName": "DependencyAgentWindows",
Aggiornare la configurazione dell'estensione
Alcune estensioni di macchina virtuale richiedono impostazioni di configurazione per essere installate nel server abilitato per Arc, ad esempio l'estensione per script personalizzati e l'estensione macchina virtuale dell'agente di Log Analytics. Per aggiornare la configurazione di un'estensione, usare az connectedmachine extension update.
L'esempio seguente illustra come configurare l'estensione per script personalizzati:
az connectedmachine extension update --name "CustomScriptExtension" --type "CustomScriptExtension" --publisher "Microsoft.HybridCompute" --settings "{\"commandToExecute\":\"powershell.exe -c \\\"Get-Process | Where-Object { $_.CPU -lt 100 }\\\"\"}" --type-handler-version "1.10" --machine-name "myMachine" --resource-group "myResourceGroup"
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 az connectedmachine upgrade-extension con i parametri --machine-name
, --resource-group
e --extension-targets
.
Per il parametro --extension-targets
è 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 az vm extension image list. È 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:
az connectedmachine upgrade-extension --machine-name "myMachineName" --resource-group "myResourceGroup" --extension-targets '{"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent":{"targetVersion":"1.0.18053.0"}}'
È possibile esaminare la versione delle estensioni VM installate in qualsiasi momento eseguendo il comando az connectedmachine extension list. 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 az connectedmachine extension delete con i parametri --extension-name
, --machine-name
e --resource-group
.
Ad esempio, per rimuovere l'estensione VM di Log Analytics per Linux, eseguire il comando seguente:
az connectedmachine extension delete --machine-name "myMachineName" --name "OmsAgentForLinux" --resource-group "myResourceGroup"
Passaggi successivi
È possibile distribuire, gestire e rimuovere le estensioni di macchina virtuale usando Azure PowerShell, 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.
Per altre informazioni sui comandi, vedere l'articolo Panoramica dell'estensione VM dell'interfaccia della riga di comando di Azure.