Déploiements
Packages de configuration immuables pour PowerShell Universal.
Les déploiements offrent la possibilité de conditionner et de versionner les référentiels de configuration de PowerShell Universal. Ils peuvent être déployés sur un cluster de nœuds PowerShell Universal afin de garantir que tous les nœuds partagent la même configuration, sans avoir besoin de configurer la synchronisation git. Les déploiements sont conditionnés sous forme de modules PowerShell et peuvent être déployés directement depuis des référentiels PowerShell.
Les déploiements ne peuvent pas être utilisés avec la synchronisation git. Lorsque vous utilisez des déploiements, il est recommandé de gérer git et le contrôle de code source en dehors de PowerShell Universal.
Les déploiements peuvent également être utilisés comme moyen de capturer rapidement des instantanés des configurations PSU et de revenir en arrière ou d'avancer sans avoir à modifier manuellement les fichiers.
Création d'un déploiement
Vous devez disposer de l'autorisation Settings.Deployments\Create pour créer de nouveaux déploiements.
API
L'API de gestion et le module PowerShell Universal peuvent être utilisés pour créer des déploiements PowerShell Universal. La cmdlet New-PSUDeployment permet de générer un nouveau déploiement. Ce déploiement sera stocké dans la base de données. Il contiendra l'état actuel du référentiel PowerShell Universal de l'ordinateur auquel il est connecté.
Le paramètre -Path est facultatif et contiendra le fichier de module NuPkg.
New-PSUDeployment -Name 'Production' -Version '1.0.1' -Path .\production.1.0.1.nupkgVous pouvez également appeler l'API via HTTP.
Invoke-RestMethod http://localhost:5000/api/v1/deployments -Method POST -Body (@{
Name = 'Production'
Version = '1.0.1'
} | ConvertTo-Json)Application d'un déploiement en tant que module
Si vous souhaitez que votre module de déploiement apparaisse dans le PSModulePath, vous pouvez ajouter le paramètre de requête asModule au chemin. Cela garantit que les fonctions du module de déploiement sont disponibles dans l'environnement.
Console d'administration
Nous ne recommandons pas de créer des déploiements manuellement, car l'automatisation est préférable, mais cela est possible via la console d'administration.
Cliquez sur Paramètres \ Déploiements pour accéder à la page des déploiements. Vous devez disposer de l'autorisation Settings.Deployments\Read pour afficher cette page. Cliquez sur Créer un déploiement pour configurer un nouveau déploiement. Ce déploiement apparaîtra dans le tableau des déploiements.
Application d'un déploiement
L'application d'un déploiement reconfigure tous les nœuds d'un cluster PowerShell Universal avec le contenu du déploiement sélectionné. Un seul appel API est nécessaire pour reconfigurer l'ensemble du cluster.
Vous devez disposer de l'autorisation Settings.Deployments\Execute pour appliquer un déploiement.
Épinglage
L'épinglage applique un déploiement et garantit que la console d'administration et l'API de gestion sont en lecture seule. Cela empêche les utilisateurs de modifier les ressources dans le cluster.
L'épinglage est recommandé pour les clusters PowerShell Universal en production.
API
Vous pouvez utiliser la cmdlet Select-PSUDeployment ou l'API de gestion pour appliquer un déploiement. Cela peut être effectué à l'aide d'un référentiel PowerShell ou en sélectionnant un déploiement présent dans la base de données.
Console d'administration
Nous ne recommandons pas de gérer les déploiements via la console d'administration, mais cela est possible. Préférez toujours l'automatisation aux processus de déploiement manuels. Dans la console d'administration, cliquez sur Paramètres \ Déploiements.
Depuis cette page, vous pouvez voir tous les déploiements créés dans l'environnement PSU. Cliquez sur le bouton Appliquer pour appliquer le déploiement au cluster. Vous aurez la possibilité d'épingler le déploiement.
Référentiel PowerShell
Vous pouvez utiliser l'API de gestion et le module Universal pour appliquer un déploiement directement depuis un référentiel PowerShell, comme la PowerShell Gallery ou un partage de fichiers. Le référentiel doit être enregistré sur tous les nœuds du cluster afin d'appliquer le déploiement avec succès. Vous pouvez utiliser Register-PSResourceRepository pour enregistrer un référentiel.
Pour appliquer le déploiement, appelez Select-PSUDeployment avec le paramètre Module défini.
GitHub Actions
Vous pouvez utiliser l'action ironmansoftware/deploy-universal pour déployer votre référentiel directement depuis GitHub. Elle extrait le référentiel courant et pousse les modifications vers PowerShell Universal.
Voici un exemple de YAML pour ce faire. Pour en savoir plus sur l'action de déploiement, cliquez ici.
Git vs déploiements
La synchronisation git et les déploiements offrent des fonctionnalités similaires. Les deux approches garantissent que tous les nœuds d'un cluster partagent une configuration, mais chacune présente ses avantages et ses inconvénients.
Git
Git permet aux utilisateurs d'effectuer des commits directement dans PowerShell Universal. Ils peuvent consulter l'historique et comparer les modifications sans quitter la console d'administration. Git peut également être complexe et problématique à configurer. PowerShell Universal propose des fonctionnalités git limitées. La synchronisation git a l'avantage de connaître la différence entre la configuration actuelle et la configuration entrante, et peut recharger uniquement les ressources modifiées. Cela dit, cela est souvent complexe et sujet aux erreurs.
Avantages
Configuration partagée dans le cluster
Interaction git directement dans la console d'administration
Consultation de l'historique des commits directement dans la console d'administration
Les mises à jour incrémentielles des ressources limitent les temps d'arrêt
Inconvénients
Nécessite un référentiel git externe pour les clusters
Peut être complexe à configurer
Les modifications apportées aux systèmes git externes peuvent empêcher PSU de se synchroniser
Les mises à jour incrémentielles des ressources sont complexes et sujettes aux erreurs
La modification directe dans des instances PSU partagées peut être problématique pour les grandes équipes
Déploiements
Les déploiements fournissent un moyen d'appliquer des packages de déploiement immuables aux clusters PowerShell Universal. Aucun système externe n'est requis, et les packages de déploiement sont simplement des modules PowerShell qui peuvent être stockés dans la base de données ou, facultativement, dans des référentiels de ressources PowerShell externes. Les déploiements ne contiennent aucun historique de fichiers et ne s'intègrent pas avec le contrôle de code source. Les déploiements peuvent être créés dans PowerShell Universal ou en dehors avec des cmdlets PowerShell standard.
Avantages
Simple à créer et à déployer avec des cmdlets PowerShell standard
Aucun système externe requis
Configurations immuables, simples à déployer pour PowerShell Universal
Peut être intégré avec des référentiels de ressources PowerShell pour la gestion des versions
Inconvénients
Le contrôle de code source doit être géré en dehors de PSU
Des systèmes externes sont nécessaires pour automatiser les déploiements
La reconfiguration peut prendre du temps, car l'ensemble de la configuration du serveur est réinitialisée
Mis à jour
Ce contenu vous a-t-il été utile ?