Google Cloud Run 允许使用 Cloud SQL。但是,如果您在 Google Cloud Build 中构建容器时需要 Cloud SQL,该怎么办?那可能吗?
背景
我有一个 Next.js 项目,它在 Google Cloud Run 上的容器中运行。将我的代码推送到 Cloud Build(安装内容、生成静态页面并将所有内容放入容器中)并部署到 Cloud Run 效果非常好。 ????
云SQL
但是,我刚刚添加了一些功能,其中还需要来自在 Google Cloud SQL 上运行的 PostgreSQL 实例的一些数据。该数据在构建项目(生成静态页面)时使用。
在本地,在我的机器上,这工作正常,因为该项目可以连接到我的 CloudSQL 代理。在 CloudRun 中运行时,这也应该可以工作,因为 Cloud Run 允许连接到我在 Cloud SQL 上的 Postgres 实例 https://cloud.google.com/sql/docs/postgres/connect-run.
我的问题
使用 Cloud Build 构建项目时,我需要访问数据库才能生成静态页面。我正在寻找一种将 Docker 云构建器连接到 Cloud SQL 的方法,也许就像 Cloud Run(完全托管)提供使用 Cloud SQL 代理进行连接的机制一样。
这样我就可以连接到/cloudsql/INSTANCE_CONNECTION_NAME
在构建我的项目时!
Question
所以我的问题是:在 Google Cloud Build 上构建项目时,如何通过 Cloud SQL 代理连接到 Google Cloud SQL 上的 PostgreSQL 实例?
我的数据库凭证等信息已经存在于 Secrets Manager 中,所以我想我应该能够使用这些详细信息 ????
您可以使用您想要(并且需要)的容器来生成静态页面,并下载云sql代理以打开与数据库的隧道
- name: '<YOUR CONTAINER>'
entrypoint: 'sh'
args:
- -c
- |
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy
chmod +x cloud_sql_proxy
./cloud_sql_proxy -instances=<my-project-id:us-central1:myPostgresInstance>=tcp:5432 &
<YOUR SCRIPT>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)