Gestion des fichiers
Cette section indique quelles données persistantes sont exposées et où. Il recommande également des moyens de persister, de partager et de sauvegarder les données. Pour des stratégies et des recommandations de sauvegarde, voir la section Continuité des activités et reprise après sinistre.
Trois éléments doivent être conservés dans WorkflowGen : le dossier
App_Data
, le dossier de l'application Web wfapps
et les données SQL. Pour déployer une base de données, voir la section Options d'hébergement SQL Server.Les deux autres sont des fichiers de WorkflowGen, et la raison pour laquelle ils doivent être conservés via un partage de fichiers est expliquée dans la section Description de l'architecture principale.
Vous devez aussi disposer d'un partage de fichier contenant une licence WorkflowGen valide pour que le conteneur puisse le récupérer. Ces dossiers doivent être exposés aux conteneurs WorkflowGen via des volumes. Pour plus d'informations sur les volumes Docker, voir l'article Use volumes de Docker.
Nom | Description |
C:\wfgen\data | Ce chemin contient toutes les données WorkflowGen, y compris le dossier App_Data et toutes les applications de workflow créées dans WorkflowGen (par exemple dans le dossier wfapps ). |
C:\wfgen\licenses | Ce chemin contient les licences personnalisées que vous souhaitez pour WorkflowGen. Le conteneur prendra le premier qu'il détecte. Il est recommandé de ne placer qu'une seule licence dans ce répertoire pour éviter les problèmes de licence. Si vous ne possédez pas de licence d'évaluation, n'oubliez pas de définir la variable d'environnement WFGEN_CONFIG_ApplicationSerialNumber en fonction de votre licence. |
Les volumes sont traités différemment avec les conteneurs Windows par rapport aux conteneurs Linux. Le modèle d'autorisation change et diffère selon que vous utilisez l'isolation de processus ou l'isolation Hyper-V. Avant de poursuivre les procédures décrites dans cette section, vous devez lire la documentation Stockage de conteneurs Windows Server de Microsoft.
Pour l'essentiel, vous devez vous assurer que les conteneurs WorkflowGen peuvent lire et écrire sur le volume
wfgdata
et lire à partir du volume de licences. L'utilisateur du conteneur qui acc édera aux volumes s'appelle IIS_IUSRS
.Ceci est le moyen le plus simple de conserver les fichiers WorkflowGen avec les conteneurs. Cela consiste à créer un volume local ou à utiliser un montage de liaison sur votre hôte Docker qui conservera les fichiers après la suppression d'un conteneur. Les volumes sont le moyen préféré pour conserver les fichiers par rapport aux montages liés, car ils sont gérés par Docker. Cette méthode ne s'adapte pas bien à plusieurs hôtes Docker, cependant, d'autres méthodes doivent être considérées dans ce cas.
Pour créer un volume pour chaque chemin de données du conteneur, exécutez la commande suivante :
"wfgdata", "licenses" | ForEach-Object { docker volume create $_ }
Ensuite, vous devez copier (ou déplacer) votre fichier de licence sur le volume de licences en exécutant la commande suivante :
Copy-Item C:\Path\To\WorkflowGen.lic $(docker volume inspect -f "{{.Mountpoint}}" licenses)
Vous pouvez maintenant exécuter le conteneur WorkflowGen avec ces volumes pour conserver les données. Voici un exemple de commande d'exécution :
docker container run `
# ...
--mount "type=volume,src=wfgdata,dst=C:\wfgen\data" `
--mount "type=volume,src=licenses,dst=C:\wfgen\licenses,readonly" `
# ...
advantys/workflowgen:7.18.3-win-ltsc2019
Vous avez maintenant correctement conservé les fichiers de WorkflowGen.
N'oubliez pas que vous gérez les montages liés manuellement. Ce sont des chemins spécifiques sur l'hôte Docker que vous contrôlez. Pour utiliser les montages de liaisons en tant que volumes, il vous suffit de passer les chemins lorsque vous exécutez la commande d'exécution de la manière suivante :
docker container run `
# ...
--mount "type=bind,src=C:\some\path\to\wfgdata,dst=C:\wfgen\data" `
--mount "type=bind,src=C:\some\path\to\wfgen\licenses,dst=C:\wfgen\licenses,readonly" `
# ...
advantys/workflowgen:7.16.0-win-ltsc2019
Vous pouvez utiliser un partage de fichiers SMB avec des conteneurs Windows tels que Azure Files. Concrètement, vous connectez le partage à l'hôte Docker, puis vous le montez comme un montage lié dans des conteneurs. Cela s'appelle un montage SMB. Pour en savoir plus sur les montages SMB, consultez la documentation Stockage de conteneurs Windows Server de Microsoft.
Dans Kubernetes, vous utiliserez un objet Persistent Volume pour spécifier un endroit où Kubernetes placera les données des pods. Pour plus d'informations sur les volumes persistants, consultez la page Persistent Volumes sur le site Web de Kubernetes.
Concrètement, pour WorkflowGen, vous devrez configurer un volume qui peut gérer l'autorisation
ReadWriteMany
pour le volume de données WorkflowGen car plusieurs pods en même temps accéderont à ce volume pour lire et écrire des données. En règle générale, pour ce faire, vous devrez créer une revendication de stockage sur le cluster comme suit :apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: wfgdata-pvc
spec:
accessModes:
- ReadWriteMany
storageClassName: azurefile
resources:
requests:
storage: 50Gi
Dans cet exemple, la revendication fait référence à une classe de stockage (Storage Class), mais vous pouvez référencer directement un volume persistant ou d'autres services de stockage spécifiques au cloud en fonction du fournisseur de cloud. Ici, la classe de stockage
azurefile
est fournie par Azure Kubernetes Service. L'attribution du stockage se fera automatiquement par le service. Il créera un compte de stockage avec un partage de fichiers d'une capacité de 50 Go.Si vous configurez WorkflowGen pour utiliser un répertoire de collecte pour les notifications, vous devez également spécifier un volume afin d'exposer les notifications à d'autres services qui les traiteront.
Le chemin par défaut du répertoire de collecte est
C:\inetpub\mailroot\Pickup
. Vous pouvez le changer en fournissant à la variable d'environnement WFGEN_APP_SETTING_ApplicationSmtpPickupDirectory
un chemin quelconque à l'intérieur du conteneur. Ensuite, vous devez créer un volume pour les fichiers de la manière suivante :docker volume create pickup
Vous pouvez maintenant mapper ce volume sur le répertoire de collecte configuré :
docker container run `
# ...
--env WFGEN_APP_SETTING_ApplicationSmtpDeliveryMethod=PickupDirectory `
--env WFGEN_APP_SETTING_ApplicationSmtpPickupDirectory=C:\inetpub\mailroot\Pickup `
--mount "type=volume,src=pickup,dst=C:\inetpub\mailroot\Pickup" `
# ...
advantys/workflowgen:7.18.3-win-ltsc2019
À ce stade, vous pouvez déployer un autre conteneur avec votre service pour prendre en charge les notifications et lier le même volume pour partager les fichiers de notification.
Dernière mise à jour 2yr ago