问题标签 [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 投票
1 回答
304 浏览

google-cloud-platform - 从桌面客户端使用私有 IP 连接到 CloudSQL

我从我的桌面通过代理连接到我们的CloudSQL实例。CloudSQL但是所有实例当前都在使用Public IP(使用 SSL)

如果我们在 上配置 Private IP CLoudSQL,我们是否仍然可以使用代理从桌面客户端(即外部vpc)连接?

我了解我们将无法从 vpc 外部显式使用私有 IP 连接到实例。

谢谢

0 投票
3 回答
1079 浏览

google-cloud-dataproc - GCP Dataproc 的 cloud-sql-proxy 失败,nc:连接到 localhost 端口 3306 (tcp) 失败:连接被拒绝

我正在使用 Terraform 创建一个使用 GCP cloudsql 实例作为 hivemetastore 的 dataproc 集群,terrafrm 项目创建集群及其所有先决条件(网络、服务帐户、cloudsql 实例和用户等)。提供帮助以帮助解决此问题,但是当集群创建失败并出现错误
cloud-sql-proxy.sh时,我无法使其工作:cloud-sql-proxy.sh

nc:连接到 localhost 端口 3306 (tcp) 失败:连接被拒绝

我把头撞在墙上,试图找出原因,但无法深入了解,所以希望这里有人能提供帮助。

我在https://github.com/jamiekt/democratising-dataproc托管了 terraform 项目。重现问题非常简单,请按照下列步骤操作:

  1. 如果您还没有安装 terraform
  2. gcloud如果您还没有安装
  3. 创建一个新的 GCP 项目
  4. 为您的新项目启用Cloud Dataproc API
  5. gcloud auth application-default login #creates a file containing credentials that terraform will use
  6. git clone git@github.com:jamiekt/democratising-dataproc.git && cd democratising-dataproc
  7. export GCP_PROJECT=name-of-project-you-just-created
  8. make init
  9. make apply

这应该成功地启动一个网络、子网、cloudsql 实例、几个存储桶(其中一个包含 cloud-sql-proxy.sh)、一个服务帐户、一个防火墙,然后在尝试创建 dataproc 集群时失败。

如果有人可以看看并告诉我为什么这会失败,我将非常感激。

0 投票
3 回答
2813 浏览

docker - 如何从 gcloud 中的容器应用程序连接到云 sql?

我正在使用 GCloud,我有一个 kubernate 集群和一个云 sql 实例。

我有一个使用数据库的简单 node.js 应用程序。当我使用它进行部署时,gcloud app deploy它可以访问数据库。但是,当我构建 dockerimage 并将其公开时,它无法访问数据库。

  1. 我公开 Docker 应用程序如下:https ://cloud.google.com/kubernetes-engine/docs/tutorials/hello-app
  2. Cloud SQL 未启用私有 IP,我使用云 sql 代理连接
  3. 在 app.yaml 我确实指定了base_settings:cloud_sql_instances. 我在 config 中使用相同的值socketPath进行 mysql 连接。
  4. docker日志中的错误是:

    (node:1) UnhandledPromiseRejectionWarning: E​​rror: connect ENOENT /cloudsql/x-alcove-224309:europe-west1:learning at PipeConnectWrap.afterConnect [as oncomplete] (net.js:1097:14)

您能否解释一下如何从 dockerized 节点应用程序连接到云 sql。

0 投票
1 回答
1014 浏览

google-cloud-platform - gcp cloud sql proxy“wsarecv:现有连接被远程主机强行关闭。”

我已经用 gcp cloud sql proxy 开发了 django,没有遇到麻烦。但是突然我不能用这个消息连接云sql。

控制台消息:2019/03/15 11:48:41 准备好新连接 2019/03/15 11:48:50 “我的项目实例”的新连接 2019/03/15 11:48:52 从127.0.0.1:5432 上的本地连接出错:读取 tcp 127.0.0.1:5432->127.0.0.1:55125: wsarecv: 远程主机强制关闭现有连接。

我怎样才能解决这个问题?

0 投票
1 回答
606 浏览

gcloud - Google cloud_sql_proxy 让我的连接保持活跃

我正在使用 Cloud SQL 代理在 Google Compute Engine 实例和 Google Cloud SQL 实例之间建立连接。使用教程,我设法通过运行以下命令建立连接:

但是,当我退出用于输入上述命令的终端实例时,连接丢失。

我怎样才能让连接始终保持活跃?

0 投票
1 回答
633 浏览

google-cloud-platform - Kubernetes Engine Cloud SQL proxy Lost connection to MySQL server at 'reading initial communication packet'

I have Django application deployed on Kubernetes Engine following this tutorial - https://cloud.google.com/python/django/kubernetes-engine. When I'm trying to make database request I'm getting this error:

There're a lot of similar questions, however, I've tried everything and haven't found exactly my case.

  • I can connect using very same Cloud SQL proxy on my local PC and it works perfectly.
  • I can add 0.0.0.0/0 to Cloud SQL allowed networks and connect directly from Django and it works perfectly.

Here's my django settings for database:

And my k8s deployment yaml:

0 投票
1 回答
268 浏览

json - 如何将 JSON 存储在 Drone 中并将其写入文件而不会出现格式错误?

这是我正在尝试做的事情的背景。我想要一个 Drone 步骤来针对 Google Cloud SQL Postgres 实例运行数据库迁移。我需要使用Cloud SQL 代理才能访问数据库。Cloud SQL 代理要求您向代理提供凭据文件。

我遇到的问题是,当我尝试将环境变量echoprintf环境变量写入文件时(如此处所建议),JSON 格式错误。

注意:我尝试通过 Drone GUI 和 Drone CLI 添加 JSON。

0 投票
3 回答
714 浏览

google-cloud-sql - GKE私有集群和云sql代理连接

我有 2 个私有和公共 GKE 集群,并使用 cloudproxy 作为 gke 应用程序访问 cloudsql 实例的 sidecar 容器。

用于开发/测试的公共集群设置

Cloud SQL 同时启用了私有和公共 IP。GKE 应用程序使用 cloudproxy,默认选项为 ip 类型(公共、私有),如下所示 Cloud SQL 没有任何授权网络。

在这种情况下,我的应用程序能够连接 CloudSQL 并顺利运行。据我了解,这里与 cloudsql 的连接应该是私有的,因为没有配置授权网络。

用于生产的私有集群设置

Cloud SQL 同时启用了私有和公共 IP。GKE 应用正在使用具有默认 IP 类型(公共、私有)选项的 cloudproxy

部署文件中的 cloudsql-proxy 设置

案例 1 Cloud SQL 没有任何授权网络。结果:应用程序无法连接 Cloud SQL

案例 2 Cloud SQL 将私有 GKE NAT 网关作为授权网络结果:应用程序无法与 Cloud SQL 连接

可能从应用程序中删除 cloudproxy 将起作用(我尚未测试),但它不鼓励在开发环境中使用代理,因为它需要在生产部署期间更改部署文件。

我无法理解是什么导致 gke 私有集群中的 cloudproxy 连接失败。我们不应该在私有集群中使用 cloudproxy 吗?

更新 导致云代理无法连接云 sql 的原因被禁用 Cloud SQL Admin API。我已经在答案部分更新了我的答案。

0 投票
1 回答
1029 浏览

kubernetes - 如何在云作曲家集群中启动云代理

如何为云作曲家集群启动云代理

目前我们使用气流来管理作业和动态 DAG 创建。为此,编写了一个单独的 Dag 来检查 PostgreSQL 中的数据库表中的现有规则,如果规则在 PostgreSQL 中处于活动/非活动状态,我们手动设置为关闭/打开 Airflow 中的动态 DAG。现在,我们将使用 Google 的 self托管的 Cloud Composer,但问题是我们无权访问 Cloud Composer 的数据库。我们如何使用云 sql 代理来解决这个问题?

0 投票
1 回答
888 浏览

kubernetes - GKE pod 未连接到 Cloudsql

我的应用似乎无法连接到代理,因此我的 Cloudsql 数据库。

以下是我的设置:

我的简单应用程序.yaml

我想我已经正确设置了秘密。

以下是我从实例中收集的一些数据:

豆荚幸福地生活着:

当我运行时:kubectl logs web-69c7777c68-zbwtv -c cloudsql-proxy

它记录了这一点:

由于该应用程序未配置为连接到数据库,因此我所做的是通过 ssh 进入 pod:

当我在容器中运行 psql 时:

你们中的任何人都可以建议我应该怎么做才能连接到数据库吗?