Configuration de l'accès de la base de données centrale au conteneur du Docker d'utilitaire
La configuration centralisée des informations d'accès à la base de données permet aux utilitaires de s'exécuter sans avoir à spécifier directement les informations de connexion et d'autres informations. A l'aide de cette fonction, le conteneur du Docker d'utilitaire disposera des informations après sa création. Il existe trois façons de mettre les informations de connexion de base de données centralisées à la disposition du conteneur du Docker d'utilitaire.
Pourquoi et quand exécuter cette tâche
Une fois que les informations d'accès à la base de données sont centralisées à l'aide de cette fonction, chaque conteneur du Docker d'utilitaire créé disposera d'informations de base de données intégrées. Le processus de démarrage comprend :
- La collection d'informations d'accès à la base de données
- Le placement des informations d'accès à la base de données dans le fichier suivant :
/opt/WebSphere/CommerceServer90/xml/config/alldbconnector.xml
<override identifier= "default" enabled="yes">
<jdbcurl value="jdbc:db2://vm32.mycompany.com:50000/mall" enabled="yes"/>
<property name="user" value="wcs"/> <property name="password" value="wcs1"/>
</override>
Ces informations de base de données doivent être mises à la disposition du conteneur du Docker d'utilitaire au moment de sa création. Les informations peuvent être mises à disposition de trois manières différentes : via Vault ; via config.properties file ; ou en tant que variables d'environnement au sein de l'image Docker elle-même. Le processus configUtility.sh tentera de rechercher les variables de la séquence suivante :
- Tout d'abord, il vérifie les variables d'environnement qui signalent que le conteneur est configuré avec Vault : VAULT_TOKEN, VAULT_URL, TENANT, ENVIRONMENT, ENVTYPE. Si elles sont présentes, les informations d'accès à la base de données seront récupérées à partir de Vault. Notez que le processus n'utilisera pas d'autres méthodes pour obtenir les informations d'accès à la base de données. Par conséquent, si un profil de base de données est dans Vault, alors tous doivent être dans Vault.
- Si les variables de l'environnement Vault ne sont pas disponibles, le processus tente de récupérer les informations d'accès à la base de données à partir de variables d'environnement.
Procédure
Ajout de variables de connexion de base de données à Vault
-
Ouvrez un une fenêtre de ligne de commande dans le conteneur du Docker d'utilitaire Pour plus d'informations, voir Exécution des utilitaires à partir de Utility server Docker container.
- Utilisez curl pour ajouter les variables pour le profil de base de données par défaut : dbHost, dbPort, dbName, dbType, dbUser, dbPass. L'exemple suivant montre l'ajout du "centre commercial" dbName.
curl -X POST -H "X-Vault-Token:7f47efbb-b162-619b-0ced-448079d91b77" -d '{"value":"mall"}' http://myhostname.com:8200/v1/MyCompany/Non-production/auth/dbName
- Utilisez curl pour ajouter les variables pour le profil de base de données par défaut : dbHost, dbPort, dbName, dbType, dbUser, dbPass. L'exemple suivant montre l'ajout du "centre commercial" dbName.
Ajout d'informations de profil en tant que variables d'environnement
-
Au lieu d'ajouter les variables à Vault comme dans les étapes 1 et 2, vous pouvez choisir de les ajouter en tant que variables d'environnement à la place.
- Ouvrez le fichier /SETUP/ext-config/config.properties pour l'éditer.
- Ajoutez les variables suivantes au fichier : DBHOST, DBPORT, DBNAME, DBTYPE, DBUSER, DBPASS.
- Sauvegardez et fermez le fichier.