Partager via


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. Il vous explique comment effectuer ces tâches sur une machine hybride Linux ou Windows à l’aide d’Azure PowerShell.

Remarque

Les serveurs avec Azure Arc ne prennent pas en charge le déploiement et 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.

Prérequis

  • Un ordinateur sur lequel est installé Azure PowerShell. Pour obtenir des instructions, consultez la rubrique Installation et configuration d'Azure PowerShell.

  • Le module Az.ConnectedMachine. 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 ce module.

    Vous pouvez effectuer ces opérations de gestion à partir de votre station de travail. Vous n’avez pas besoin de les exécuter sur le serveur avec 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 apparaît :

    The installed extension 'Az.ConnectedMachine' is experimental and not covered by customer support. Please use with discretion.

Activation d’une extension

Pour activer une extension de machine virtuelle sur votre serveur avec Azure Arc, utilisez New-AzConnectedMachineExtension avec les paramètres -Name, -ResourceGroupName, -MachineName, -Location, -Publisher, -ExtensionType, et -Settings.

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

Ajouter \ à " 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 avec Azure Arc, utilisez Get-AzConnectedMachineExtension avec les paramètres -MachineName et -ResourceGroupName.

Voici un exemple :

Get-AzConnectedMachineExtension -ResourceGroupName myResourceGroup -MachineName myMachineName

Name    Location  PropertiesType        ProvisioningState
----    --------  --------------        -----------------
custom  westus2   CustomScriptExtension Succeeded

Mettre à jour une 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 comprendre les méthodes permettant de fournir les modifications que vous souhaitez apporter à l’extension, reportez-vous à l’article de référence de l’applet de commande.

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 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 demande de mise à niveau en fournissant les deux :

  • Liste séparée par des virgules d’extensions, définie par leur éditeur et leur type (séparés par un point)
  • Version cible de chaque extension

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 avec Azure Arc, utilisez Remove-AzConnectedMachineExtension avec les paramètres -Name, -MachineName et -ResourceGroupName.