Configuration

Aperçu

Cette section explique comment configurer complètement un conteneur de base de données WorkflowGen. Tout est configurable via une variable d'environnement.

circle-info

Variables d'environnement

Variables spécifiques aux images de base

Certaines variables sont disponibles dans les images de base qui fournissent des fonctionnalités liées à SQL Server. Pour la version Linux, consultez la page Docker Hub mcr.microsoft.com/mssql/serverarrow-up-right et l'article Microsoft Déployer et se connecter à des conteneurs Linux SQL Serverarrow-up-right. Pour la version Windows, consultez la page Docker Hub microsoft/mssql-server-windows-expressarrow-up-right.

circle-info

Certaines variables d'environnement dans les images de base sont requises. Par exemple, vous devez fournir une valeur pour la variable d'environnement SA_PASSWORD.

Variables spécifiques à WorkflowGen

Le conteneur de base de données WorkflowGen ajoute des variables d'environnement spéciales pour activer des fonctionnalités supplémentaires liées à WorkflowGen. Le tableau suivant fournit des descriptions pour chacun d'eux :

Variable

Description et valeurs

WFGEN_DATABASE_NAME

Le nom de la base de données WorkflowGen

Valeur par défaut : WFGEN

WFGEN_DATABASE_CONTAINMENT

Définit la base de données WorkflowGen pour contenir les utilisateurs de base de données pour plus de portabilité (consultez l'article Microsoft contained database authentication (option de configuration de serveur)arrow-up-right pour plus d'informations)

Valeurs possibles : Y (par défaut), N

WFGEN_DATABASE_USER_USERNAME

Le nom d'utilisateur de l'utilisateur de la base de données qui a accès à la base de données WorkflowGen

Valeur par défaut :WFGEN_USER

WFGEN_DATABASE_USER_PASSWORD

Variable requise

Le mot de passe de l'utilisateur de la base de données qui a accès à la base de données WorkflowGen

WFGEN_DATABASE_FILE_PATH

Ne pas modifier pour la version Linux

Chemin d'accès interne aux fichiers de base de données .mdf et .ldf à l'intérieur du conteneur

Valeur par défaut :

  • Windows : C:\wfgen\sql

  • Linux : /var/opt/mssql/data

WFGEN_ADMIN_USERNAME

Le nom d'utilisateur de l'utilisateur administratif WorkflowGen

Valeur par défaut : wfgen_admin

WFGEN_ADMIN_PASSWORD

Variable requise

Le mot de passe de l'utilisateur administratif WorkflowGen

WFGEN_AUTH_APPLICATION

Indique si la méthode d'authentification de WorkflowGen est applicative ou non

Valeurs possibles :Y (par défaut), N

Variables d'environnement basées sur le format

Secrets

Lorsque vous utilisez un orchestrateur tel que Kubernetes, vous souhaiterez probablement sécuriser des secrets à l'aide de leurs outils de gestion des secrets intégrés. Suivez le guide spécifique de votre orchestrateur pour savoir comment créer un secret.

Pour Kubernetes, consultez https://kubernetes.io/docs/concepts/configuration/secret/arrow-up-right.

Il est recommandé d'injecter des secrets dans des conteneurs WorkflowGen sous forme de fichiers car ils ne seront pas exposés en tant que variables d'environnement et ils seront supprimés du conteneur lorsqu'il sera arrêté ou supprimé.

circle-info

La gestion des secrets est possible uniquement au moyen d'un orchestrateur.

Afin d'obtenir la valeur secrète dans le fichier, vous devez suffixer toute variable d'environnement dont vous souhaitez obtenir la valeur de cette manière avec _FILE et définir sa valeur sur le chemin du fichier contenant le secret. Le conteneur obtiendra ensuite la valeur dans le fichier au chemin spécifié et définira la variable d'environnement sans le suffixe avec cette valeur.

Par exemple, supposons que vous souhaitiez définir un mot de passe de compte sa dans SQL Server sur Strong(!)Pass en utilisant la variable d'environnement SA_PASSWORD, mais que vous souhaitez utiliser un secret pour la valeur. Tout ce que vous avez à faire est de suffixer le nom de la variable d'environnement avec _FILE pour qu'il devienne SA_PASSWORD_FILE. Ensuite, définissez la valeur de cette variable sur le chemin du fichier contenant le mot de passe.

📌 Exemple avec l'orchestrateur Docker Swarm

Pour Kubernetes, vous créez un ConfigMap qui complète votre secret comme ceci :

Ensuite, vous devez mapper le ConfigMap en tant que variables d'environnement et monter le secret en tant que volume comme ceci :

Utilisation d'un orchestrateur

Kubernetes

Kubernetes a également un objet intégré appelé ConfigMap pour gérer la configuration des pods (capsules). Consultez l'article Kubernetes Configure a Pod to Use a ConfigMaparrow-up-right pour plus d'informations et comment l'utiliser. Vous devez utiliser cet objet pour configurer les variables d'environnement pour WorkflowGen.

Vous pouvez également gérer les informations sensibles en les protégeant davantage dans l'orchestrateur dans une zone sécurisée. Consultez l'article Kubernetes Secretsarrow-up-right pour plus d'informations et d'instructions sur son utilisation. Vous devez utiliser cet objet pour protéger des informations sensibles telles que la clé de licence WorkflowGen, les noms d'utilisateur, les mots de passe, les clés cryptographiques, les clés API, etc...

Utilisation d'un gestionnaire de configuration externe

Certains gestionnaires de configuration populaires supportent les conteneurs Docker prêts à l'emploi. Voici quelques liens vers leur documentation spécifique pour vous aider à démarrer :

Chef

Ansible

Puppet

À propos des fonctions de sécurité

La version Linux de la base de données possède certaines fonctionnalités de sécurité qui peuvent être utilisées pour améliorer la sécurité globale de la base de données. Pour plus d'informations sur les fonctionnalités de sécurité de SQL Server pour Linux, consultez l'article Déployer et se connecter à des conteneurs Linux SQL Serverarrow-up-right dans la documentation Microsoft SQL Server.

La version Windows du conteneur n'a pas les fonctionnalités de sécurité de la version Linux. Il est conseillé d'utiliser la version Windows uniquement à des fins de développement et de test.

Performance et haute disponibilité

Vous pouvez configurer la réplication avec ce conteneur, mais vous devrez créer une image personnalisée. Pour plus d'informations sur la création d'une image personnalisée, voir la page Image personnalisée de cette section. Pour plus d'informations sur la configuration de la réplication dans SQL Server, consultez l'article Configurer un groupe de disponibilité SQL Server pour l’échelle lecture sur Linuxarrow-up-right dans la documentation Microsoft.

Utilisation avec Kubernetes

Vous devez toujours déployer le conteneur de base de données dans un StatefulSet afin que chaque conteneur ait son propre stockage séparé. Il garantit également que chaque conteneur possède un nom DNS unique à l'intérieur du cluster afin qu'il puisse être facilement trouvé par d'autres conteneurs. Vous pouvez également configurer chacune des instances en fonction d'un identifiant incrémentiel afin de pouvoir définir une instance en lecture / écriture et plusieurs instances en lecture seule. Voici un exemple d'un déploiement StatefulSet simple avec le conteneur de base de données WorkflowGen :

Vous pouvez utiliser cet exemple comme point de départ pour configurer plusieurs conteneurs de base de données. Pour plus d'informations sur StatefulSets, consultez l'article StatefulSetsarrow-up-right dans la documentation Kubernetes. Vous aurez peut-être besoin d'un code personnalisé pour pouvoir configurer correctement plusieurs instances. Voir la page Image personnalisée de cette section pour plus d'informations sur la façon d'ajouter du code personnalisé au conteneur.

Mis à jour