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 :
  1. La collection d'informations d'accès à la base de données
  2. Le placement des informations d'accès à la base de données dans le fichier suivant :
    /opt/WebSphere/CommerceServer90/xml/config/alldbconnector.xml
Une fois le processus de démarrage terminé, les informations d'accès à la base de données seront disponibles pour chaque utilitaire qui utilise ce fichier. Plusieurs profils de base de données de ce type peuvent être créés de cette façon. Chaque profil se compose d'une URL JDBC, d'un utilisateur et d'un mot de passe, et est associé à un type de base de données (DB2 ou Oracle). Il y a toujours un profil nommé "Défaut". Voici un exemple de la façon dont un profil de base de données est défini dans 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 :
  1. 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.
  2. 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.
Il écrit ensuite les données sur allDBConnector.xml.

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.
    1. 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
      
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.
    1. Ouvrez le fichier /SETUP/ext-config/config.properties pour l'éditer.
    2. Ajoutez les variables suivantes au fichier : DBHOST, DBPORT, DBNAME, DBTYPE, DBUSER, DBPASS.
    3. Sauvegardez et fermez le fichier.

Que faire ensuite

Il existe de nombreux paramètres que vous pouvez utiliser lors du démarrage d'un nouveau conteneur Docker. Pour plus d'informations, voir Logique de démarrage du conteneur Docker pour HCL Commerce Version 9.1.