尝试从GCP容器连接到第二代云sql数据库。
我创建了云代理,但对我的应用程序通过代理连接所需的内容感到有点困惑。我的应用程序正在寻找已经在应用程序内的127.0.0.1:3306连接所有需要的mysql连接信息,这些信息在GCP之外正常工作。我的应用程序当前在GCP容器上部署时会记录127.0.0.1:3306的连接错误。
错误:在Object.exports._errnoException连接ECONNREFUSED 127.0.0.1:3306
可用于简单节点应用程序的任何其他示例文件,以便更好地理解所需的应用程序配置?
以下示例似乎解决了wordpress需要的问题,但对于简单的节点应用程序我需要什么?
相关链接:
https://cloud.google.com/sql/docs/mysql/connect-container-engine
提供127.0.0.1:3306作为应用程序用于访问数据库的主机地址。
我在我的应用程序中对此进行了硬编码。
由于代理在同一个pod中的第二个容器中运行,因此它在您的应用程序中显示为localhost,因此您使用127.0.0.1:3306连接到它。
是的,我在我的应用程序中对此进行了硬编码
提供cloudsql-db-credentials密码以使应用程序能够登录数据库。
好的,如果我必须添加这个,那是什么 例如,假设应用程序需要DB_USER和DB_PASSWORD:
名称:DB_USER valueFrom: secretKeyRef: name:cloudsql-db-credentials key:用户名 如果您的代理用户需要密码,您还需要添加:
那么我将在这里使用什么变量名?这是否要求mysql用户名?
name:DB_PASSWORD valueFrom: secretKeyRef: name:cloudsql-db-credentials 密钥:密码
这里需要什么变量?这是否要求上面的id的mysql pw?
在上面链接的wordpress示例中,我试图弄清楚简单节点应用程序需要哪些变量。
容器:
- image:wordpress:4.4.2-apache
名称:网络
ENV:
- 名称:WORDPRESS_DB_HOST
#通过固定端口上的本地网络连接到SQL代理。
#将[PORT]更改为数据库使用的端口号
#(例如3306)。
值:127.0.0.1:[PORT]
#启动pod需要这些秘密。
#[START cloudsql_secrets]
- name:WORDPRESS_DB_PASSWORD
valueFrom:
secretKeyRef:
name:cloudsql-db-credentials
密钥:密码
- 名称:WORDPRESS_DB_USER
valueFrom:
secretKeyRef:
name:cloudsql-db-credentials
key:用户名
#[END cloudsql_secrets]
端口:
- containerPort:80
名称:wordpress
谢谢!