Activer l’extension de machine virtuelle Azure à l’aide d’Azure CLI

Cet article explique comment déployer, mettre à jour, mettre à niveau et désinstaller des extensions de machine virtuelle, prises en charge par des serveurs avec Azure Arc, sur une machine hybride Linux ou Windows à l’aide de l’interface Azure CLI.

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

Installer l’extension Azure CLI

Les commandes ConnectedMachine ne sont pas fournies avec Azure CLI. Avant d'utiliser l'interface Azure CLI pour se connecter à Azure et gérer les extensions de machine virtuelle sur votre serveur hybride géré par des serveurs avec Azure Arc, vous devez charger l'extension 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 pour l’obtenir :

az extension add --name connectedmachine

Activer l’extension

Pour activer une extension de machine virtuelle sur votre serveur avec Azure Arc, utilisez az connectedmachine extension create avec les paramètres --machine-name, --extension-name, --location, --type, settings et --publisher.

L'exemple suivant active l'extension de machine virtuelle Log Analytics sur un serveur avec 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'exemple suivant active l'extension de script personnalisé sur un serveur avec 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'exemple suivant active l'extension de machine virtuelle Key Vault sur un serveur avec 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’exemple suivant active l’extension Microsoft Antimalware sur un serveur Windows 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’exemple suivant active l’extension Datadog sur un serveur Windows 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" }'

Lister les extensions installées

Pour obtenir la liste des extensions de machine virtuelle sur votre serveur avec Azure Arc, utilisez az connectedmachine extension list avec les paramètres --machine-name et --resource-group.

Exemple :

az connectedmachine extension list --machine-name "myMachineName" --resource-group "myResourceGroup"

Par défaut, la sortie des commandes Azure CLI est au format JSON (JavaScript Object Notation). Pour remplacer la sortie par défaut pour une liste ou une table, par exemple, utilisez az config set core.output=table. Vous pouvez également ajouter --output à n’importe quelle commande pour modifier ponctuellement le format de sortie.

L’exemple suivant illustre la sortie JSON partielle obtenue avec la commande 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",

Mettre à jour la configuration de l’extension

Certaines extensions de machine virtuelle requièrent des paramètres de configuration pour pouvoir être installées sur le serveur Arc, comme l’extension de script personnalisé et l’extension de machine virtuelle de l’agent Log Analytics. Pour mettre à niveau la configuration d’une extension, utilisez az connectedmachine extension update.

L’exemple suivant montre comment configurer l’extension de script personnalisé :

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"

Mettre à niveau les extensions

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 az connectedmachine upgrade-extension avec les paramètres --machine-name, --resource-group et --extension-targets.

Pour le paramètre --extension-targets, vous devez spécifier l’extension et la dernière version disponible. Pour déterminer la version la plus récente disponible, vous pouvez obtenir ces informations à partir de la page Extensions pour le serveur Arc sélectionné dans le portail Azure ou en exécutant la commande az vm extension image list. 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 (en les séparant par un point) et la version cible pour chaque extension, comme indiqué dans l’exemple ci-dessous.

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 :

az connectedmachine upgrade-extension --machine-name "myMachineName" --resource-group "myResourceGroup" --extension-targets '{\"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 az connectedmachine extension list. 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 avec Azure Arc, utilisez az connectedmachine extension delete avec les paramètres --extension-name, --machine-name et --resource-group.

Par exemple, pour supprimer l’extension de machine virtuelle Log Analytics pour Linux, exécutez la commande suivante :

az connectedmachine extension delete --machine-name "myMachineName" --name "OmsAgentForLinux" --resource-group "myResourceGroup"

Étapes suivantes