我想将我的应用程序连接到Google Cloud SQL上的托管postgresql实例。该应用程序将通过 GKE 部署。通常,我会通过连接字符串进行连接:
例如:postgres://<user>:<password>@<my-postgres-host>:5432"
但文档指出:
-
创建一个密钥以向数据库提供 PostgreSQL 用户名和密码。
-
使用以下项更新容器配置文件:
- 提供云 SQL 实例的私有 IP 地址作为应用程序将用于访问数据库的主机地址。
- 提供之前创建的密钥,以使应用程序能够登录到数据库。
- 使用 Kubernetes 清单文件启动部署。
我可以执行步骤 1 和 3,但无法执行步骤 2。连接 URL 是否应该只是:postgres://<PRIVATE_ID>:5432
并且我添加 ENV 变量POSTGRES_USER
并通过密钥POSTGRES_PASSWORD
?
有什么例子我可以查吗?
结果:我想派生托管在谷歌云SQL上的postgresql的连接网址。
提前谢谢你!
你可以找到 postgres_deployment.yaml 文件的示例,以便使用 kubernetes 进行部署。示例用户代理,但专用 IP 的数据库配置部分不会更改。对于私有 IP,请勿使用 [proxy_container] 部分
这是文档中所述的部分,您正在搜索:数据库环境变量和机密部分。
# The following environment variables will contain the database host,
# user and password to connect to the PostgreSQL instance.
env:
- name: POSTGRES_DB_HOST
value: 127.0.0.1:5432
# [START cloudsql_secrets]
- name: POSTGRES_DB_USER
valueFrom:
secretKeyRef:
name: cloudsql-db-credentials
key: username
- name: POSTGRES_DB_PASSWORD
valueFrom:
secretKeyRef:
name: cloudsql-db-credentials
key: password
# [END cloudsql_secrets]