Activer les extensions de machine virtuelle Azure à l’aide d’Azure PowerShell
Cet article explique comment déployer, mettre à jour et désinstaller des extensions de machine virtuelle Azure, prises en charge par les serveurs avec Azure Arc, sur une machine hybride Linux ou Windows avec Azure PowerShell.
Remarque
Les serveurs avec Azure Arc ne prennent pas en charge le déploiement ni la gestion des extensions de machine virtuelle sur les machines virtuelles Azure. Pour les machines virtuelles Azure, consultez l’article Présentation des extensions de machine virtuelle suivant.
Prérequis
- Un ordinateur sur lequel est installé Azure PowerShell. Pour obtenir des instructions, consultez la rubrique Installation et configuration d'Azure PowerShell.
Avant d’utiliser Azure PowerShell pour gérer les extensions de machine virtuelle sur votre serveur hybride géré par des serveurs Azure Arc, vous devez installer le module Az.ConnectedMachine
. Ces opérations de gestion peuvent être effectuées à partir de votre station de travail, vous n’avez pas besoin de les exécuter sur le serveur Azure Arc.
Exécutez la commande suivante sur votre serveur Azure Arc :
Install-Module -Name Az.ConnectedMachine
.
Une fois l’installation terminée, le message suivant est retourné :
The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.
Activer l’extension
Pour activer une extension de machine virtuelle sur votre serveur Azure Arc, utilisez New-AzConnectedMachineExtension avec les paramètres -Name
, -ResourceGroupName
, -MachineName
, -Location
, -Publisher
, -ExtensionType
et -Settings
.
L’exemple suivant active l’extension de machine virtuelle Log Analytics sur un serveur Linux 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"
Pour activer l’extension de machine virtuelle Log Analytics sur un serveur Windows Azure Arc, modifiez la valeur du paramètre -ExtensionType
en "MicrosoftMonitoringAgent"
dans l’exemple précédent.
L'exemple suivant active l'extension de script personnalisé sur un serveur avec 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’exemple suivant active l’extension Microsoft Antimalware sur un serveur Windows Azure Arc :
$Setting = @{ "AntimalwareEnabled" = $true }
New-AzConnectedMachineExtension -Name "IaaSAntimalware" -ResourceGroupName "myResourceGroup" -MachineName "myMachineName" -Location "regionName" -Publisher "Microsoft.Azure.Security" -Settings $Setting -ExtensionType "IaaSAntimalware"
Extension de machine virtuelle Key Vault
Avertissement
L’ajout de \
à "
dans le fichier settings.json entraîne l’échec de akvvm_service avec l’erreur suivante : [CertificateManagementConfiguration] Failed to parse the configuration settings with:not an object.
Bien que les utilisateurs de PowerShell utilisent couramment la séquence \"
en tant que séquence d’échappement des guillemets dans d’autres blocs de code, vous devez éviter cette mise en forme dans le fichier settings.json.
L'exemple suivant active l'extension de machine virtuelle Key Vault sur un serveur avec 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
Extension de machine virtuelle Datadog
L'exemple suivant active l'extension de machine virtuelle Datadog sur un serveur avec 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
Lister les extensions installées
Pour obtenir la liste des extensions de machine virtuelle sur votre serveur Azure Arc, utilisez Get-AzConnectedMachineExtension avec les paramètres -MachineName
et -ResourceGroupName
.
Exemple :
Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName
Name Location PropertiesType ProvisioningState
---- -------- -------------- -----------------
custom westus2 CustomScriptExtension Succeeded
Mettre à jour la configuration de l’extension
Pour reconfigurer une extension installée, vous pouvez utiliser la cmdlet Update-AzConnectedMachineExtension avec les paramètres -Name
, -MachineName
, -ResourceGroupName
et -Settings
.
Pour connaître les différents moyens d’apporter les modifications souhaitées à l’extension, consultez l’article de référence de la cmdlet.
Mettre à niveau l’extension
Quand une nouvelle version d’une extension de machine virtuelle prise en charge est publiée, vous pouvez mettre à niveau vers cette dernière version. Pour mettre à niveau une extension de machine virtuelle, utilisez Update-AzConnectedExtension avec les paramètres -MachineName
, -ResourceGroupName
et -ExtensionTarget
.
Pour le paramètre -ExtensionTarget
, vous devez spécifier l’extension et la dernière version disponible. Pour déterminer la dernière version disponible d’une extension, consultez la page Extensions du serveur avec Arc sélectionné dans le portail Azure, ou exécutez Get-AzVMExtensionImage. Vous pouvez spécifier plusieurs extensions dans une seule requête de mise à niveau en fournissant une liste d’extensions séparées par des virgules, définies par leur serveur de publication et leur type (séparés par un point) ainsi que la version cible de chaque extension.
Pour mettre à niveau l’extension de l’agent Log Analytics pour Windows si une version plus récente est disponible, exécutez la commande suivante :
Update-AzConnectedExtension -MachineName "myMachineName" -ResourceGroupName "myResourceGroup" -ExtensionTarget '{\"Microsoft.EnterpriseCloud.Monitoring.MicrosoftMonitoringAgent\":{\"targetVersion\":\"1.0.18053.0\"}}'
Vous pouvez vérifier la version des extensions de machine virtuelle installées à tout moment en exécutant la commande Get-AzConnectedMachineExtension. La valeur de la propriété TypeHandlerVersion
représente la version de l’extension.
Suppression d’extensions
Pour supprimer une extension de machine virtuelle installée sur votre serveur Azure Arc, utilisez Remove-AzConnectedMachineExtension avec les paramètres -Name
, -MachineName
et -ResourceGroupName
.
Par exemple, pour supprimer l’extension de machine virtuelle Log Analytics pour Linux, exécutez la commande suivante :
Remove-AzConnectedMachineExtension -MachineName myMachineName -ResourceGroupName myResourceGroup -Name OmsAgentforLinux
Étapes suivantes
Vous pouvez déployer, gérer et supprimer des extensions de machine virtuelle à l’aide d’Azure CLI, du portail Azure ou de modèles Azure Resource Manager.
Des informations de dépannage sont accessibles dans le guide Résoudre les problèmes liés aux extensions de machine virtuelle.