15/11/2024

PowerShell DSC – Mode Push vs Mode Pull

I. Mise au point sur les deux modes de DSC

Vous l’avez surement compris à la lecture des premiers chapitres, PowerShell DSC peut suivre deux modes de fonctionnement, le mode Push qui est le mode par défaut, et le mode Pull. Ce chapitre arrive en guise de transition entre ces deux modes, car nous avons d’une part déjà pratiqué le mode push au sein des chapitres précédents, et parce que d’autre part nous allons maintenant passer à l’utilisation du mode pull.

L’intérêt de ce chapitre est de remettre à plat le fonctionnement de ces deux modes pour bien les différencier et, bien situer les avantages de chacun d’eux.

II. Le mode push

Vous connaissez bien ce mode désormais puisque c’est celui par défaut et celui avec lequel vous avez fait vos premiers pas avec PowerShell DSC. Pour rappel, il consiste à pousser manuellement les configurations sur les nœuds ciblés.

Ainsi, les fichiers MOF obtenus suite à la compilation de la configuration seront aussi nombreux qu’il y a de nœuds ciblés, et chaque fichier MOF prend pour nom le nom d’un des nœuds ciblés.

Nativement, le mode Push n’enverra pas les configurations à intervalles réguliers sur les nœuds cibles, mais vous devez le déclencher manuellement avec le commandlet Start-DscConfiguration.

dsc-push

III. Le mode pull

A l’inverse du mode push où l’on pousse les configurations, en mode pull ce sont les nœuds qui viennent chercher (tirer) les configurations sur un serveur pull. Ce serveur pull peut publier les configurations via un partage SMB, via IIS en HTTP ou via IIS en HTTPS.

dsc-pull

En mode push, vous devez pousser aussi les modules PowerShell sur les nœuds cibles pour qu’ils soient accessibles en local lorsque vous exécuterez la configuration. En mode pull, vous n’avez pas à vous soucier de cette partie, les ressources et modules seront automatiquement récupérées si besoin.

La mise en place est plus longue car il faut créer le serveur pull et configurer le LCM des nœuds ciblés pour qu’ils adoptent le nouveau mode de fonctionnement, mais ensuite vous aurez des serveurs qui viendront chercher les configurations eux-mêmes.

PowerShell DSC sera alors autonome et vous pourrez avoir la garantie que vos serveurs ont bien l’état que vous souhaitez. En effet, s’il y a un écart de configuration, il sera rectifié à la prochaine application de la configuration.

Il est important de préciser que, lorsque vos nœuds sont configurés en mode pull, vous pouvez toujours continuer à pousser des configurations comme vous le faisiez en mode push. C’est un avantage intéressant puisque ceci offre des possibilités supplémentaires, mais sachez que l’inverse n’est pas possible, en toute logique.

J’espère que ce court chapitre vous permet de bien comprendre la différence entre ces deux modes de fonctionnement proposés avec PowerShell DSC. Désormais, nous allons justement voir comment mettre en place un serveur Pull.

author avatar
Florian BURNEL Co-founder of IT-Connect
Ingénieur système et réseau, cofondateur d'IT-Connect et Microsoft MVP "Cloud and Datacenter Management". Je souhaite partager mon expérience et mes découvertes au travers de mes articles. Généraliste avec une attirance particulière pour les solutions Microsoft et le scripting. Bonne lecture.
Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Envoyer par mail