这是documentation on External Database Environment Variables。它说,
在应用程序中使用外部服务类似于使用内部服务。将使用上一步中描述的凭据为您的应用程序分配服务的环境变量和其他环境变量。例如,MySQL容器接收以下环境变量:
EXTERNAL_MYSQL_SERVICE_SERVICE_HOST=<ip_address>
EXTERNAL_MYSQL_SERVICE_SERVICE_PORT=<port_number>
MYSQL_USERNAME=<mysql_username>
MYSQL_PASSWORD=<mysql_password>
MYSQL_DATABASE_NAME=<mysql_database>
此部分不清楚-将为您的应用程序分配服务的环境变量。
应如何配置应用程序,以便分配服务的环境变量?我知道,DeploymentConfig
中定义的内容将以process.env.MYSQL_USERNAME
的形式流入NodeJS中的应用程序,等等。我不清楚EXTERNAL_MYSQL_SERVICE_SERVICE_HOST
或EXTERNAL_MYSQL_SERVICE_SERVICE_PORT
的流入方式。
如果创建服务对象,则来自发布的链接的Step 1
oc expose deploymentconfig/<name>
这将自动为您的命名空间中的所有pod生成环境变量(https://docs.openshift.com/container-platform/3.11/dev_guide/environment_variables.html#automatically-added-environment-variables)。 (如果已经在after中添加了服务,则可能无法立即使用环境变量。您的pod已被创建...删除pod以在重新启动时添加它们)