问题标签 [cloud-sql-proxy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3616 浏览

kubernetes - 如何在 GKE 上创建 CloudSQL 代理凭据作为机密

我已按照https://cloud.google.com/sql/docs/mysql/connect-kubernetes-engine中的步骤设置 MySQL 用户帐户和服务帐户。我已经下载了包含我的凭据的 JSON 文件。

我的问题是在我从网站复制的代码中:

指定了路径 /secrets/cloudsql/credentials.json ,我不知道它来自哪里。

我想我应该通过

kubectl create secret generic cloudsql-instance-credentials --from-file=k8s\secrets\my-credentials.json

但在那之后我不知道该怎么办。这个秘密如何成为路径/secrets/cloudsql/credentials.json

0 投票
0 回答
439 浏览

google-cloud-platform - 使用 cloudsqlproxy 从 GKE 集群连接到 Google 云 mysql 实例

我在 GCP 中有两个项目,即。project1project2

mysql在 project1 中有设置实例。

我还在mypod cloudsqlproxy中设置cloudsqlproxy(pod)和mypodGKE 集群。project2. I want to access mysql instance fromthrough

我有以下代码cloudmysqlproxy

我已cloud-sql-client-account-token按以下方式设置:

credentials.jsonproject1.

当我尝试从我的 pod 访问 mysql 实例时,出现以下错误:

cloud-proxy日志,我得到以下信息:

是否需要在与project2pod 相同的项目 ( ) 中启动 mysql 实例?我错过了什么?

编辑

我可以通过这样的设置访问本地机器上的代理

然后使用 mysql 客户端连接到代理。

0 投票
2 回答
1844 浏览

java - 在本地和通过 App Engine Flex 连接到 Google Cloud SQL (PostgreSQL)

本地:我的本地环境是 Mac OS。我正在尝试使用 Java 8 连接到我的 Cloud SQL (PostgreSQL) 数据库。我已将我的 IP 列入白名单,并且能够使用 pgadmin 连接到数据库。我的服务帐户也是托管数据库的项目和应用引擎环境的项目所有者

这是我用来本地连接的教程:

https://cloud.google.com/sql/docs/postgres/connect-external-app#java

和我的实际代码:

... }

这是在我的代码中生成的 url 调用(出于明显目的,我已经更改了原始代码):

由于此错误,我无法连接此呼叫:

但是,我可以通过此调用连接并取回数据:

唯一的问题是,我必须将每个 ip (0.0.0.0/24) 列入白名单,才能使该网址在 App Engine Flex(包括我的)中工作!现在,出于安全原因,我显然不想这样做。

通过 App Engine Flex:

我可以在 App Engine Flex 中连接此呼叫^,但我必须再次将每个 IP 列入白名单才能使其正常工作。该文档指出,我不必将 App Engine Flex 中的 IP 列入白名单即可正常工作(它应该只使用服务帐户)。我猜是原始电话,在文档中就是这样做的。然而,这是行不通的。所以我处于静止状态。

拜托,看在上帝的份上,有人可以帮助我。连接数据库应该不难!

我想要做的就是通过我的本地环境和我的 App Engine Flex 环境连接到我的远程 Cloud SQL PostgreSQL 数据库,而不必将每个 IP 地址列入白名单(并以“正确”的方式进行操作)。我正在使用 Maven 配置文件来区分我的环境。

我还尝试设置 Cloud SQL 代理以供本地使用,但它不起作用,我收到此错误:

我真的没有想法了,这可能是防火墙端口问题吗?请帮忙 :(

0 投票
1 回答
316 浏览

google-cloud-platform - 在 GCP CloudSQL 中,删除机密后如何重置 GKE 的凭据

在启动新集群时,我不小心删除了暂存集群/项目中 cloudsql-oauth-credentials 的机密。有没有办法从“gcloud”或cloudSQL控制台重新获取和安装这些?我可能有一份看起来像这样的原件副本(删除了私人内容):

我希望我可以使用它:

注意:这是在 GCP 上使用标准 Sidecar 代理配置进行 GKE 部署。

0 投票
1 回答
1109 浏览

kubernetes - 带有 gcloud sql postgres 的 GKE:sidecar 代理设置不起作用

我正在尝试使用带有 sidecar 代理的 gcloud SQL Postgres 数据库在 GKE 上设置 node.js 应用程序。我正在关注文档,但没有让它工作。代理似乎无法启动(应用容器确实启动)。我不知道为什么代理容器无法启动,也不知道如何调试它(例如,我如何收到错误消息!?)。

mysecret.yaml:

输出kubectl get secrets

应用部署.yaml:

输出kubectl create -f ./kubernetes/app-deployment.json

输出kubectl get deployments

输出kubectl get pods

输出kubectl describe pod/myapp-5bc955f688-5rxwp -n default

编辑:我的秘密似乎有问题,因为kubectl logs 5bc955f688-5rxwp cloudsql-proxy我得到了:

我通过以下方式创建了这个秘密:

我认为秘密变成了 JSON...当我将 app-deployment.yaml 中的 mysecret.json 更改为 mysecret.yaml 时,我仍然会收到类似的错误...

0 投票
1 回答
1171 浏览

google-cloud-platform - 私有 GKE 和 Cloud SQL 之间的连接

我有一个带有公共主端点的私有 GKE 集群,其中有需要访问 Cloud SQL 的作业。我有一个在 3307 上接收的云 SQL 代理 DaemonSet,它连接到 3306 上的实际数据库。

我的网络没有出站互联网,也没有添加任何防火墙规则。我的云 SQL 代理出现以下错误。有关解决此问题的任何帮助或有关如何在私有 GKE 和 Cloud SQL 之间建立连接的指南?

无法连接到“dbinstance”:拨打 tcp publicip:3307:getsockopt:连接超时

0 投票
2 回答
3429 浏览

kubernetes - 将 cloudsql-proxy 与 GKE 一起使用时无法获取令牌错误

我正在使用启用了 istio 插件的 GKE。Myapp 在使用 websocket 时会以某种方式给出 503 错误。我开始认为也许 websocket 正在工作,但数据库连接没有,这会导致 503,因为 cloudsql-proxy 日志给出错误:

看起来所需的身份验证详细信息应该在我创建的代理服务帐户的凭据中,因此提供给:

我的问题:如何摆脱错误/从 GKE 获取正确的 google sql 配置?

在创建集群时,我选择了 mTLS 'permissive' 选项。

我的配置:myapp_and_router.yaml:

编辑 1:创建集群时,我没有为各种谷歌服务启用权限(范围),请参见此处。创建具有权限的新集群后,我现在收到一条新的错误消息:

编辑 2:看起来新错误是由服务帐户密钥不再有效引起的。制作新的后,我可以连接到数据库!

0 投票
1 回答
220 浏览

google-cloud-platform - 连接到 Cloud SQL

如何使用 PHP 或 Javascript 从外部 Web 应用程序连接到 Cloud SQL 实例并在特定数据库中插入值?

0 投票
2 回答
3035 浏览

mysql - 使用代理的 Kubernetes 的 Cloud SQL 连接

我目前正在 Kubernetes 中运行 Spring Boot Pod。云 SQL 代理的 pod 中有一个边车。

下面是我的 spring Boot application.properties 配置:

下面是我的 pom.xml 提取的插件和依赖项:

这是我的 deployment.yaml 文件:


我按照此链接中的说明进行操作,因此创建了机密和服务帐户。但是,当我在创建机密后在 Kubernetes 中部署以前的 yaml 文件时,我经常遇到连接拒绝错误:

我什至使用代理和相同的 application.properties 配置在本地测试了 Spring Boot 应用程序,它工作正常。

0 投票
1 回答
31 浏览

security - How to use Cloud SQL Proxy with a regular user account?

Google's Cloud SQL Proxy uses service accounts to login. That's nice, but does not give you visibility as to who is the actual user that accessing the DB, for security purposes.

How can I use "regular" users credentials with Cloud SQL proxy? Obviously a login step would be required...

Thanks!