Partager via


Présentation du gestionnaire d’extensions de configuration d’état souhaité Microsoft Azure

Remarque

Avant d’activer l’extension DSC, sachez qu’une version plus récente de DSC est désormais en disponibilité générale, appelée Configuration d’ordinateur Azure. Le service Configuration d’ordinateur Azure inclut des fonctionnalités de l’extension DSC et des fonctionnalités couramment demandées à partir des commentaires des clients. Azure Machine Configuration inclut également la prise en charge des ordinateurs hybrides via des serveurs avec Arc.

L’extension Azure VM pour des machines virtuelles Azure et les extensions associées font partie des services d’infrastructure Microsoft Azure. Les extensions de machine virtuelle Azure sont des composants logiciels qui étendent les fonctionnalités d’une machine virtuelle et simplifient ses diverses opérations de gestion.

L’extension DSC envoie uniquement une configuration à la machine virtuelle. La fonction de création de rapports en continu est uniquement disponible localement, sur la machine virtuelle.

Versions DSC disponibles

L’extension DSC prend en charge les configurations de la version 1.1 de la plateforme DSC. Pour plus d’informations, consultez PSDesiredStateConfiguration v1.1.

Prérequis

  • Station de travail du développeur : pour interagir avec l’extension Azure DSC, vous devez utiliser le Portail Azure ou le Kit de développement logiciel (SDK) Azure PowerShell/CLI.

  • Agent invité : la machine virtuelle Azure préparée par la configuration DSC doit utiliser un système d’exploitation prenant en charge Windows Management Framework (WMF) version 4.0 ou ultérieure. Pour la liste complète des versions de système d’exploitation prises en charge, consultez l’historique des versions de l’extension Azure DSC.

Termes et concepts

Cet article part du principe que vous connaissez les concepts suivants :

  • Configuration : fait référence à un document de configuration DSC.

  • Nœud : identifie la cible d’une configuration DSC. Dans cet article, le terme nœud fait toujours référence à une machine virtuelle Azure.

  • Les données de configuration sont stockées dans un fichier au format DSC PowerShell (.psd1) qui contient les données environnementales d’une configuration.

Architecture

L’extension Azure DSC utilise l’infrastructure de l’extension Azure VM pour fournir, mettre en œuvre et créer des rapports sur les configurations DSC sur des machines virtuelles Azure. L’extension DSC accepte un document de configuration et un ensemble de paramètres.

Lorsque l’extension est appelée la première fois, elle installe une version de WMF en utilisant la logique suivante :

  • Si le système d’exploitation de la machine virtuelle Azure est Windows Server 2016, aucune action n’est effectuée. En effet, la dernière version de PowerShell est installée sur Windows Server 2016.

  • Si la propriété wmfVersion est spécifiée, la version spécifiée de WMF est installée, sauf si la version spécifiée est incompatible avec le système d’exploitation de la machine virtuelle.

  • Si aucune propriété wmfVersion n’est spécifiée, la dernière version applicable de WMF est installée.

Le processus d’installation de WMF nécessite un redémarrage. Après avoir redémarré, l’extension télécharge le fichier .zip spécifié dans la propriété modulesUrl, s’il est fourni. Si cet emplacement figure dans le stockage Blob Azure, vous pouvez spécifier un jeton SAP dans la propriété sasToken pour accéder au fichier. Après avoir téléchargé et décompressé le .zip, la fonction de configuration définie dans configurationFunction s’exécute pour générer un fichier au format MOF (Managed Object Format) (.mof). Ensuite, l’extension exécute la commande Start-DscConfiguration -Force à l’aide du fichier .mof généré. L’extension capture la sortie et l’écrit dans le canal d’état Azure.

Nom de la configuration de nœuds

Pour le paramètre NodeConfigurationName, assurez-vous de fournir le nom de la configuration du nœud et non celui de la Configuration.

La Configuration est définie dans un script qui est utilisé pour compiler la configuration des nœuds (fichier MOF). Le nom de la configuration du nœud est toujours le nom de la Configuration suivi d’un point . et soit localhost soit un nom d’ordinateur spécifique.

Déploiement de modèle ARM

L’approche la plus courante pour le déploiement de l’extension DSC consiste à utiliser des modèles Azure Resource Manager. Pour plus d’informations et d’exemples d’inclusion de l’extension DSC dans des modèles ARM, consultez Extension de Desired State Configuration avec des modèles ARM.

Déploiement d’une cmdlet PowerShell

Les cmdlets PowerShell de gestion de l’extension DSC sont idéales dans les scénarios interactifs de résolution de problèmes et de collecte d’informations. Vous pouvez utiliser les applets de commande pour empaqueter, publier et surveiller des déploiements de l’extension DSC.

Voici quelques-unes des cmdlets PowerShell disponibles :

  • La cmdlet Publish-AzVMDscConfiguration récupère un fichier de configuration, l'analyse pour y trouver les ressources DSC dépendantes, puis crée un fichier .zip. Le fichier .zip contient la configuration et les ressources DSC nécessaires pour déployer la configuration. La cmdlet peut également créer le package en local en utilisant le paramètre -OutputArchivePath. Dans le cas contraire, la cmdlet publie le fichier .zip dans le stockage Blob et le sécurise avec un jeton SAP.

    Le script de configuration PowerShell (.ps1) créé par la cmdlet se trouve dans le fichier .zip placé à la racine du dossier d’archivage. Le dossier du module est placé dans le dossier d’archivage, sous les ressources.

  • La cmdlet Set-AzVMDscExtension injecte les paramètres nécessaires à l'extension DSC PowerShell dans un objet de configuration de la machine virtuelle.

  • La cmdlet Get-AzVMDscExtension extrait l'état de l'extension DSC d'une machine virtuelle spécifique.

  • La cmdlet Get-AzVMDscExtensionStatus extrait l'état de la configuration DSC imposée par le Gestionnaire d'extensions DSC. Cette action peut être effectuée sur une seule machine virtuelle ou sur un groupe de machines virtuelles.

  • La cmdlet Remove-AzVMDscExtension supprime le Gestionnaire d'extensions d'une machine virtuelle spécifique. Gardez à l’esprit que cette cmdlet ne supprime pas la configuration, ne désinstalle pas WMF et ne modifie pas les paramètres appliqués à la machine virtuelle. La cmdlet ne supprime que le gestionnaire d’extensions.

Considérations importantes

Plusieurs considérations doivent être prises en compte lors de l’utilisation des cmdlets Azure Resource Manager.

  • Les applets de commande Azure Resource Manager sont synchrones.

  • Plusieurs paramètres sont requis, notamment ResourceGroupName, VMName, ArchiveStorageAccountName, Version et Location.

  • ArchiveResourceGroupName est un paramètre facultatif. Spécifiez ce paramètre lorsque votre compte de stockage appartient à un groupe de ressources différent de celui dans lequel la machine virtuelle est créée.

  • Utilisez le commutateur AutoUpdate pour mettre automatiquement à jour le gestionnaire d’extensions vers la dernière version dès que celle-ci est disponible. Ce paramètre peut entraîner des redémarrages sur la machine virtuelle lors de la publication d’une nouvelle version de WMF.

Configuration avec des cmdlets PowerShell

L’extension DSC Azure peut utiliser des documents de configuration DSC pour configurer directement des machines virtuelles Azure pendant le déploiement. Cette étape n’inscrit pas le nœud dans Automation ou Configuration d’ordinateur. Gardez à l’esprit que le nœud n’est pas managé de manière centralisée.

Le code suivant montre un exemple simple de configuration. Pour utiliser cet exemple, enregistrez cette configuration localement en tant que fichier de script iisInstall.ps1.

configuration IISInstall
{
    node "localhost"
    {
        WindowsFeature IIS
        {
            Ensure = "Present"
            Name = "Web-Server"
        }
    }
}

Les commandes PowerShell suivantes placent le script iisInstall.ps1 sur la machine virtuelle spécifiée. Les commandes exécutent également la configuration, puis génèrent un rapport d’état.

$resourceGroup = 'dscVmDemo'
$vmName = 'myVM'
$storageName = 'demostorage'
#Publish the configuration script to user storage
Publish-AzVMDscConfiguration -ConfigurationPath .\iisInstall.ps1 -ResourceGroupName $resourceGroup -StorageAccountName $storageName -force
#Set the VM to run the DSC configuration
Set-AzVMDscExtension -Version '2.76' -ResourceGroupName $resourceGroup -VMName $vmName -ArchiveStorageAccountName $storageName -ArchiveBlobName 'iisInstall.ps1.zip' -AutoUpdate -ConfigurationName 'IISInstall'

Déploiement de l’interface de ligne de commande Azure

Vous pouvez utiliser Azure CLI pour déployer l’extension DSC sur une machine virtuelle existante. Les exemples suivants montrent comment déployer une machine virtuelle sur Windows.

Pour une machine virtuelle fonctionnant sous Windows, utilisez la commande suivante :

az vm extension set \
  --resource-group myResourceGroup \
  --vm-name myVM \
  --name DSC \
  --publisher Microsoft.Powershell \
  --version 2.77 --protected-settings '{}' \
  --settings '{}'

Déploiement du portail Azure

Pour configurer l’extension DSC dans le portail Azure, procédez comme suit :

  1. Accédez à une machine virtuelle.

  2. Sous Paramètres, sélectionnez Extensions + Applications.

  3. Sous Extensions, sélectionnez + Ajouter.

  4. Sélectionnez PowerShell Desired State Configuration, puis Suivant.

  5. Configurez les paramètres suivants pour l’extension DSC.

    • Modules de configuration ou Script : (Obligatoire) Fournissez les modules de configuration ou le fichier de script à votre machine virtuelle.

      Les scripts et modules de configuration nécessitent un fichier .ps1 qui contient un script de configuration ou un fichier .zip avec un script de configuration .ps1 à la racine. Si vous utilisez un fichier .zip, toutes les ressources dépendantes doivent figurer dans les dossiers de module du fichier .zip. Vous pouvez créer le fichier .zip à l’aide de la cmdlet Publish-AzureVMDscConfiguration -OutputArchivePath incluse dans le Kit de développement logiciel (SDK) Azure PowerShell. Le fichier .zip est chargé dans votre stockage Blob d’utilisateur et sécurisé par un jeton SAP.

    • Nom de la configuration qualifié par le module : (Obligatoire) Spécifiez ce paramètre pour inclure plusieurs fonctions de configuration dans un seul fichier de script .ps1. Pour ce paramètre, entrez le nom du fichier de script .ps1 de la configuration suivi d’un slash \ et du nom de la fonction de configuration. Par exemple, si le fichier de script .ps1 porte le nom configuration.ps1 et que le nom de la configuration est IisInstall, entrez la valeur configuration.ps1\IisInstall pour le paramètre.

    • Arguments de configuration : si la fonction de configuration prend des arguments, entrez leurs valeurs ici au format argumentName1=value1,argumentName2=value2. Notez que ce format diffère du format utilisé pour spécifier les arguments de configuration dans les cmdlets PowerShell ou les modèles ARM.

    • Fichier PSD1 de données de configuration : si votre configuration nécessite un fichier de données de configuration au format .psd1, utilisez ce paramètre pour sélectionner le fichier de données et le charger dans votre stockage Blob d’utilisateur. Le fichier de données de configuration est sécurisé avec un jeton SAP dans le stockage Blob.

    • Version WMF : spécifie la version de Windows Management Framework (WMF) à installer sur votre machine virtuelle. Si vous choisissez la dernière, qui est la valeur par défaut, le système installe la version la plus récente de WMF. Les autres valeurs possibles incluent 4.0, 5.0 et 5.1. Les valeurs possibles font l’objet de mises à jour.

    • Collecte de données : activez ce paramètre si vous souhaitez que l’extension DSC collecte des données de télémétrie sur votre machine virtuelle. Pour plus d’informations, consultez la page Azure DSC Extension Data Collection (Collection de données d’extension Azure DSC).

    • Version : (Obligatoire) spécifie la version de l’extension DSC à installer. Pour obtenir plus d’informations sur les versions, consultez Historique des versions de l’extension Azure DSC.

    • Mise à niveau automatique de la version secondaire : ce paramètre correspond au commutateur AutoUpdate des cmdlets. Configurez ce paramètre pour activer la mise à jour automatique de l’extension DSC vers la dernière version lors de l’installation. Oui indique au gestionnaire d’extension DSC d’utiliser la dernière version disponible. Non (valeur par défaut) force l’installation de la version que vous spécifiez dans le paramètre Version.

  6. Après avoir configuré les paramètres, sélectionnez Vérifier + Créer, puis Créer.

Journaux d’extension DSC

Vous pouvez afficher les journaux de l’extension Azure DSC sur la machine virtuelle sous C:\WindowsAzure\Logs\Plugins\Microsoft.Powershell.DSC\<version number>.

Étapes suivantes