这是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
的流入方式
答案 0 :(得分:2)
如果您创建了Service对象,则从发布的链接的Step 1
中获取
oc expose deploymentconfig/<name>
这将自动为您的命名空间中的所有pod生成环境变量(https://docs.openshift.com/container-platform/3.11/dev_guide/environment_variables.html#automatically-added-environment-variables)。 (如果已经在您的Pod创建之后 添加了服务,则环境变量可能不会立即可用...删除Pod以在重新启动时添加它们)