Architectures recommandées

Aperçu

Cette section présente l'architecture de conteneur recommandée pour WorkflowGen afin d'exécuter les portails Web et les services Windows. Il y aura de nombreuses références aux propriétés de configuration de l'image; voir la section Configuration pour plus d'informations.
Cette section concerne uniquement l'architecture de conteneur. Les données et les volumes SQL doivent toujours être utilisés quelle que soit l'architecture.
Consultez la section Options d'hébergement SQL Server pour plus d'informations sur les déploiements de bases de données SQL et la section Gestion des fichiers pour obtenir des informations sur le déploiement de volumes.

Conteneur unique

Architecture à conteneur unique
C'est l'architecture la plus simple que vous puissiez utiliser avec WorkflowGen. Il s'agit d'un conteneur unique sans répliques qui exécute à la fois des applications Web et services Windows. Par conséquent, vous définissez la variable d'environnement WFGEN_START_SERVICE sur all. Cette architecture convient bien aux environnements de développement et de test, mais elle peut également être considérée lorsque les performances avec un seul conteneur correspondent à l'utilisation du produit. Vous ne pouvez pas répliquer le conteneur car il ne devrait y avoir qu'une seule instance de chaque service Windows WorkflowGen en cours d'exécution.

Exemple Docker Compose

Voici le même exemple que dans la section Démarrer. Il contient un conteneur WorkflowGen qui exécute tous les services (applications Web et services Windows).
1
version: '3.7'
2
services:
3
workflowgen:
4
image: advantys/workflowgen:7.18.3-win-ltsc2019
5
restart: always
6
env_file:
7
- '.\workflowgen.env'
8
ports:
9
- '8080:80'
10
volumes:
11
- 'wfgdata:C:\wfgen\data'
12
- 'licenses:C:\wfgen\licenses:RO'
13
depends_on:
14
- database
15
database:
16
image: advantys/workflowgen-sql:7.18.3-express-win-ltsc2019
17
env_file:
18
- '.\database.env'
19
volumes:
20
- 'sqldata:C:\wfgen\sql'
21
22
volumes:
23
wfgdata:
24
licenses:
25
external: true
26
sqldata:
27
Copied!

Exemple Helm

Cet exemple est différent de l'exemple dans la section Démarrer. Cette version de Helm n'est pas évolutive dans le cluster. Il a un pod qui exécute tous les services WorkflowGen (applications Web et services Windows) et un autre pod pour la base de données. Vous pouvez utiliser les étapes de l'exemple dans la section Démarrer pour générer les valeurs demandées. N'oubliez pas d'obtenir l'adresse IP externe de l'équilibreur de charge une fois qu'il est créé.
1
scalable: false
2
3
workflowgen:
4
resources:
5
limits:
6
cpu: '1'
7
memory: 2Gi
8
requests:
9
cpu: '1'
10
memory: 2Gi
11
config:
12
WFGEN_APP_SETTING_ApplicationUrl: http://10.0.1.1/wfgen
13
WFGEN_DATABASE_CONNECTION_STRING_FILE: C:\secrets\WFGEN_DATABASE_CONNECTION_STRING
14
WFGEN_APP_SETTING_ApplicationSerialNumber_FILE: C:\secrets\ApplicationSerialNumber
15
WFGEN_APP_SETTING_ApplicationSecurityPasswordSymmetricEncryptionKey_FILE: C:\secrets\ApplicationSecurityPasswordSymmetricEncryptionKey
16
WFGEN_MACHINE_KEY_DECRYPTION_KEY_FILE: C:\secrets\WFGEN_MACHINE_KEY_DECRYPTION_KEY
17
WFGEN_MACHINE_KEY_VALIDATION_KEY_FILE: C:\secrets\WFGEN_MACHINE_KEY_VALIDATION_KEY
18
secret:
19
ApplicationSerialNumber: <YOUR_WFG_LIC_KEY>
20
ApplicationSecurityPasswordSymmetricEncryptionKey: <YOUR_NEW_GUID>
21
WFGEN_DATABASE_CONNECTION_STRING: 'Server=wfgen-database-0.wfgen-database.default.svc.cluster.local,1433;Database=WFGEN;User ID=WFGEN_USER;Password=strong(!)Pass;'
22
WFGEN_MACHINE_KEY_DECRYPTION_KEY: '39B3AE9CCCF94AA47D795EC84F7CCB7928F5D59BE2EB2BBA4FE2AC0B3C8D0C85'
23
WFGEN_MACHINE_KEY_VALIDATION_KEY: '82F6247A5DBF8666FB60B8EFE6483360436F0EC426CC0351A9569C607B46C1FAD6497406DD8B0B519DD83CAA6764904C89999D742638ECE756E7C0B8799B45E9'
24
license:
25
secretName: wfgen-license-secret
26
items:
27
- key: WorkflowGen.lic
28
path: WorkflowGen.lic
29
dataPvcSpec:
30
accessModes:
31
- ReadWriteMany
32
storageClassName: azurefile
33
resources:
34
requests:
35
storage: 50Gi
36
service:
37
type: LoadBalancer
38
39
database:
40
fullnameOverride: wfgen-database
41
nodeSelector:
42
kubernetes.io/os: linux
43
securityContext:
44
runAsUser: 0
45
runAsGroup: 0
46
resources:
47
limits:
48
cpu: '1'
49
memory: 2Gi
50
requests:
51
cpu: '500m'
52
memory: 1Gi
53
config:
54
ACCEPT_EULA: 'Y'
55
SA_PASSWORD_FILE: /mnt/secrets/SA_PASSWORD
56
WFGEN_DATABASE_USER_USERNAME_FILE: /mnt/secrets/WFGEN_DATABASE_USER_USERNAME
57
WFGEN_DATABASE_USER_PASSWORD_FILE: /mnt/secrets/WFGEN_DATABASE_USER_PASSWORD
58
WFGEN_ADMIN_PASSWORD_FILE: /mnt/secrets/WFGEN_ADMIN_PASSWORD
59
secret:
60
SA_PASSWORD: 'strong(!)Pass'
61
WFGEN_DATABASE_USER_PASSWORD: 'strong(!)Pass'
62
WFGEN_ADMIN_PASSWORD: 'strong(!)Pass'
63
WFGEN_DATABASE_USER_USERNAME: WFGEN_USER
64
volumeClaimTemplateSpec:
65
accessModes:
66
- ReadWriteOnce
67
storageClassName: default
68
resources:
69
requests:
70
storage: 100Gi
71
72
ingress:
73
enabled: false
74
Copied!

Plusieurs instances d'applications Web, instance unique de services Windows

Plusieurs instances d'applications Web, instance unique de services Windows
Puisqu'il ne peut y avoir qu'une seule instance de chaque service Windows WorkflowGen exécutée à la fois, cette architecture vous permet d'exécuter plusieurs répliques des applications Web afin de faire évoluer WorkflowGen pour répondre à vos besoins en matière de trafic et de traitement sans disposer d'instances supplémentaires des services Windows.
Vous devez définir la variable d'environnement WFGEN_START_SERVICE sur web_apps pour les conteneurs des applications Web et sur win_services pour le conteneur unique afin d'exécuter tous les services Windows sans applications Web. Cette architecture est idéale pour adapter les portails Web au trafic et aux besoins de traitement, sans trop de pression sur les services Windows.

Exemple Docker Compose

1
version: '3.7'
2
services:
3
workflowgen-web-apps:
4
image: advantys/workflowgen:7.18.3-win-ltsc2019
5
restart: always
6
env_file:
7
- '.\workflowgen.env'
8
environment:
9
WFGEN_START_SERVICE: web_apps
10
ports:
11
- '8080:80'
12
volumes:
13
- 'wfgdata:C:\wfgen\data'
14
- 'licenses:C:\wfgen\licenses:RO'
15
depends_on:
16
- database
17
workflowgen-win-services:
18
image: advantys/workflowgen:7.18.3-win-ltsc2019
19
restart: always
20
env_file:
21
- '.\workflowgen.env'
22
environment:
23
WFGEN_START_SERVICE: win_services
24
volumes:
25
- 'wfgdata:C:\wfgen\data'
26
- 'licenses:C:\wfgen\licenses:RO'
27
depends_on:
28
- database
29
database:
30
image: advantys/workflowgen-sql:7.18.3-express-win-ltsc2019
31
env_file:
32
- '.\database.env'
33
volumes:
34
- 'sqldata:C:\wfgen\sql'
35
36
volumes:
37
wfgdata:
38
licenses:
39
external: true
40
sqldata:
41
Copied!

Exemple Helm

Cet exemple est le même que dans la section Démarrer. Les conteneurs des services Windows seront toujours dans le même pod lorsque vous utilisez la carte Helm WorkflowGen. Vous pouvez utiliser les étapes de l'exemple dans la section Démarrer pour générer les valeurs demandées. N'oubliez pas d'obtenir l'adresse IP externe de l'équilibreur de charge une fois qu'il est créé.
1
replicaCount: 3
2
3
workflowgen:
4
resources:
5
limits:
6
cpu: '1'
7
memory: 2Gi
8
requests:
9
cpu: '1'
10
memory: 2Gi
11
config:
12
WFGEN_APP_SETTING_ApplicationUrl: http://10.0.1.1/wfgen
13
WFGEN_DATABASE_CONNECTION_STRING_FILE: C:\secrets\WFGEN_DATABASE_CONNECTION_STRING
14
WFGEN_APP_SETTING_ApplicationSerialNumber_FILE: C:\secrets\ApplicationSerialNumber
15
WFGEN_APP_SETTING_ApplicationSecurityPasswordSymmetricEncryptionKey_FILE: C:\secrets\ApplicationSecurityPasswordSymmetricEncryptionKey
16
WFGEN_MACHINE_KEY_DECRYPTION_KEY_FILE: C:\secrets\WFGEN_MACHINE_KEY_DECRYPTION_KEY
17
WFGEN_MACHINE_KEY_VALIDATION_KEY_FILE: C:\secrets\WFGEN_MACHINE_KEY_VALIDATION_KEY
18
secret:
19
ApplicationSerialNumber: <YOUR_WFG_LIC_KEY>
20
ApplicationSecurityPasswordSymmetricEncryptionKey: <YOUR_NEW_GUID>
21
WFGEN_DATABASE_CONNECTION_STRING: 'Server=wfgen-database-0.wfgen-database.default.svc.cluster.local,1433;Database=WFGEN;User ID=WFGEN_USER;Password=strong(!)Pass;'
22
WFGEN_MACHINE_KEY_DECRYPTION_KEY: '39B3AE9CCCF94AA47D795EC84F7CCB7928F5D59BE2EB2BBA4FE2AC0B3C8D0C85'
23
WFGEN_MACHINE_KEY_VALIDATION_KEY: '82F6247A5DBF8666FB60B8EFE6483360436F0EC426CC0351A9569C607B46C1FAD6497406DD8B0B519DD83CAA6764904C89999D742638ECE756E7C0B8799B45E9'
24
license:
25
secretName: wfgen-license-secret
26
items:
27
- key: WorkflowGen.lic
28
path: WorkflowGen.lic
29
dataPvcSpec:
30
accessModes:
31
- ReadWriteMany
32
storageClassName: azurefile
33
resources:
34
requests:
35
storage: 50Gi
36
service:
37
type: LoadBalancer
38
39
winServices:
40
dirSync:
41
resources:
42
limits:
43
cpu: '1'
44
memory: 1Gi
45
requests:
46
cpu: '500M'
47
memory: 1Gi
48
engine:
49
resources:
50
limits:
51
cpu: '1'
52
memory: 1Gi
53
requests:
54
cpu: '500M'
55
memory: 1Gi
56
57
database:
58
fullnameOverride: wfgen-database
59
nodeSelector:
60
kubernetes.io/os: linux
61
securityContext:
62
runAsUser: 0
63
runAsGroup: 0
64
resources:
65
limits:
66
cpu: '1'
67
memory: 2Gi
68
requests:
69
cpu: '500m'
70
memory: 1Gi
71
config:
72
ACCEPT_EULA: 'Y'
73
SA_PASSWORD_FILE: /mnt/secrets/SA_PASSWORD
74
WFGEN_DATABASE_USER_USERNAME_FILE: /mnt/secrets/WFGEN_DATABASE_USER_USERNAME
75
WFGEN_DATABASE_USER_PASSWORD_FILE: /mnt/secrets/WFGEN_DATABASE_USER_PASSWORD
76
WFGEN_ADMIN_PASSWORD_FILE: /mnt/secrets/WFGEN_ADMIN_PASSWORD
77
secret:
78
SA_PASSWORD: 'strong(!)Pass'
79
WFGEN_DATABASE_USER_PASSWORD: 'strong(!)Pass'
80
WFGEN_ADMIN_PASSWORD: 'strong(!)Pass'
81
WFGEN_DATABASE_USER_USERNAME: WFGEN_USER
82
volumeClaimTemplateSpec:
83
accessModes:
84
- ReadWriteOnce
85
storageClassName: default
86
resources:
87
requests:
88
storage: 100Gi
89
90
ingress:
91
enabled: false
92
Copied!

Plusieurs instances d'applications Web, conteneurs de services Windows dédiés

Plusieurs instances d'application Web, conteneurs de services Windows dédiés
Cette architecture recommandée est la plus évolutive. Il comporte plusieurs conteneurs pour les applications Web pouvant être adaptés à l'augmentation du trafic ou à des besoins de traitement, ainsi que des conteneurs dédiés pour chaque service Windows : un pour le service de synchronisation d'annuaires et un pour le service de moteur. Par conséquent, vous devez définir la variable d'environnement WFGEN_START_SERVICE sur web_apps pour les conteneurs des applications Web, sur dir_sync pour le conteneur de service de synchronisation d'annuaires et sur engine pour le conteneur du service de moteur. Cette architecture convient aux scénarios de haute disponibilité et de performances élevées.

Exemple Docker Compose

1
version: '3.7'
2
services:
3
workflowgen-web-apps:
4
image: advantys/workflowgen:7.18.3-win-ltsc2019
5
restart: always
6
env_file:
7
- '.\workflowgen.env'
8
environment:
9
WFGEN_START_SERVICE: web_apps
10
ports:
11
- '8080:80'
12
volumes:
13
- 'wfgdata:C:\wfgen\data'
14
- 'licenses:C:\wfgen\licenses:RO'
15
depends_on:
16
- database
17
workflowgen-dir-sync-service:
18
image: advantys/workflowgen:7.18.3-win-ltsc2019
19
restart: always
20
env_file:
21
- '.\workflowgen.env'
22
environment:
23
WFGEN_START_SERVICE: dir_sync
24
volumes:
25
- 'wfgdata:C:\wfgen\data'
26
- 'licenses:C:\wfgen\licenses:RO'
27
depends_on:
28
- database
29
workflowgen-engine-service:
30
image: advantys/workflowgen:7.18.3-win-ltsc2019
31
restart: always
32
env_file:
33
- '.\workflowgen.env'
34
environment:
35
WFGEN_START_SERVICE: engine
36
volumes:
37
- 'wfgdata:C:\wfgen\data'
38
- 'licenses:C:\wfgen\licenses:RO'
39
depends_on:
40
- database
41
database:
42
image: advantys/workflowgen-sql:7.18.3-express-win-ltsc2019
43
env_file:
44
- '.\database.env'
45
volumes:
46
- 'sqldata:C:\wfgen\sql'
47
48
volumes:
49
wfgdata:
50
licenses:
51
external: true
52
sqldata:
53
Copied!

Exemple Helm

Cet exemple est le même que dans la section Démarrer. Les conteneurs des services Windows seront toujours dans le même pod lorsque vous utilisez la carte Helm WorkflowGen. Vous pouvez utiliser les étapes de l'exemple dans la section Démarrer pour générer les valeurs demandées. N'oubliez pas d'obtenir l'adresse IP externe de l'équilibreur de charge une fois qu'il est créé.
1
replicaCount: 3
2
3
workflowgen:
4
resources:
5
limits:
6
cpu: '1'
7
memory: 2Gi
8
requests:
9
cpu: '1'
10
memory: 2Gi
11
config:
12
WFGEN_APP_SETTING_ApplicationUrl: http://10.0.1.1/wfgen
13
WFGEN_DATABASE_CONNECTION_STRING_FILE: C:\secrets\WFGEN_DATABASE_CONNECTION_STRING
14
WFGEN_APP_SETTING_ApplicationSerialNumber_FILE: C:\secrets\ApplicationSerialNumber
15
WFGEN_APP_SETTING_ApplicationSecurityPasswordSymmetricEncryptionKey_FILE: C:\secrets\ApplicationSecurityPasswordSymmetricEncryptionKey
16
WFGEN_MACHINE_KEY_DECRYPTION_KEY_FILE: C:\secrets\WFGEN_MACHINE_KEY_DECRYPTION_KEY
17
WFGEN_MACHINE_KEY_VALIDATION_KEY_FILE: C:\secrets\WFGEN_MACHINE_KEY_VALIDATION_KEY
18
secret:
19
ApplicationSerialNumber: <YOUR_WFG_LIC_KEY>
20
ApplicationSecurityPasswordSymmetricEncryptionKey: <YOUR_NEW_GUID>
21
WFGEN_DATABASE_CONNECTION_STRING: 'Server=wfgen-database-0.wfgen-database.default.svc.cluster.local,1433;Database=WFGEN;User ID=WFGEN_USER;Password=strong(!)Pass;'
22
WFGEN_MACHINE_KEY_DECRYPTION_KEY: '39B3AE9CCCF94AA47D795EC84F7CCB7928F5D59BE2EB2BBA4FE2AC0B3C8D0C85'
23
WFGEN_MACHINE_KEY_VALIDATION_KEY: '82F6247A5DBF8666FB60B8EFE6483360436F0EC426CC0351A9569C607B46C1FAD6497406DD8B0B519DD83CAA6764904C89999D742638ECE756E7C0B8799B45E9'
24
license:
25
secretName: wfgen-license-secret
26
items:
27
- key: WorkflowGen.lic
28
path: WorkflowGen.lic
29
dataPvcSpec:
30
accessModes:
31
- ReadWriteMany
32
storageClassName: azurefile
33
resources:
34
requests:
35
storage: 50Gi
36
service:
37
type: LoadBalancer
38
39
winServices:
40
dirSync:
41
resources:
42
limits:
43
cpu: '1'
44
memory: 1Gi
45
requests:
46
cpu: '500M'
47
memory: 1Gi
48
engine:
49
resources:
50
limits:
51
cpu: '1'
52
memory: 1Gi
53
requests:
54
cpu: '500M'
55
memory: 1Gi
56
57
database:
58
fullnameOverride: wfgen-database
59
nodeSelector:
60
kubernetes.io/os: linux
61
securityContext:
62
runAsUser: 0
63
runAsGroup: 0
64
resources:
65
limits:
66
cpu: '1'
67
memory: 2Gi
68
requests:
69
cpu: '500m'
70
memory: 1Gi
71
config:
72
ACCEPT_EULA: 'Y'
73
SA_PASSWORD_FILE: /mnt/secrets/SA_PASSWORD
74
WFGEN_DATABASE_USER_USERNAME_FILE: /mnt/secrets/WFGEN_DATABASE_USER_USERNAME
75
WFGEN_DATABASE_USER_PASSWORD_FILE: /mnt/secrets/WFGEN_DATABASE_USER_PASSWORD
76
WFGEN_ADMIN_PASSWORD_FILE: /mnt/secrets/WFGEN_ADMIN_PASSWORD
77
secret:
78
SA_PASSWORD: 'strong(!)Pass'
79
WFGEN_DATABASE_USER_PASSWORD: 'strong(!)Pass'
80
WFGEN_ADMIN_PASSWORD: 'strong(!)Pass'
81
WFGEN_DATABASE_USER_USERNAME: WFGEN_USER
82
volumeClaimTemplateSpec:
83
accessModes:
84
- ReadWriteOnce
85
storageClassName: default
86
resources:
87
requests:
88
storage: 100Gi
89
90
ingress:
91
enabled: false
92
Copied!
Dernière mise à jour 1yr ago