问题标签 [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.
google-cloud-platform - Cloud SQL proxy cannot connect to a database using a second service account with same permissions
After following the tutorial Connecting [Postgres] from Kubernetes Engine, I was able to have my app server connect to my Postgres database thru a Cloud SQL Proxy and a service account that grants the "SQL Client", "SQL Editor" and "SQL Admin" permissions.
But, after following this tutorial a second time (to create a second database, for use from another cluster), and hence creating a second service account with the same permissions, I realised that I could only connect my second Cloud SQL database using my first service account!
Every time I tried to use the second service account (which, again, grants access to the exact same 3 permissions!), I was getting couldn't connect to "project:region:instance"
errors...
Context: I know that instance-based permissions are not supported by Cloud SQL yet, but I would like to have dedicated service accounts for each of my 2 databases if possible, and do not understand why a second service account with same permissions does not work.
ruby-on-rails - 带有 GCP Cloud SQL 的 Kubernetes 应用不接受任何连接。Github 上提供完整源代码
我创建了一个使用 Google Cloud PostgreSQL 的示例 Rails 5 应用程序。我可以使用 本地运行该应用程序docker-compose up
,但是当我将其部署到 GCP 时,我无法远程连接到它。我试图在他们使用的地方复制https://cloud.google.com/ruby/tutorials/bookshelf-on-kubernetes-enginetargetPort: http-server
rails 应用程序发布在 Github 上。我在做任何明显错误的事情吗?:-|
在本地运行应用程序有效
创建 GKE 集群
设置 PostgreSQL 云 SQL
我按照https://cloud.google.com/sql/docs/postgres/connect-kubernetes-engine?authuser=1中的说明 使用这些值更新了我的 config/database.yml 和 k8s/colors.yml。
已部署但卡在 ContainerCreating
kubectl 获取部署
但无法连接到应用程序
curl 35.228.111.217 # => 没有反应!:-/
kubectl 描述 svc 颜色
k8s/service.yml
kubectl 描述部署
kubectl 描述服务
cloud-sql-proxy - 使用 Cloud SQL Proxy 连接时,ERROR 2013 (HY000): Lost connection to MySQL server at error 发生
错误 2013 (HY000):在“读取初始通信数据包”时失去与 MySQL 服务器的连接,系统错误:0“内部错误/检查(非系统错误)”
· 操作系统是debian 8。 · Cloud SQL 和Compute Engine 是相同的项目。· Compute Engine 实例具有完整的 API 访问权限。· 我们还设置了 Cloud SQL Admin。
sudo apt-get 更新 sudo apt-get install mysql-client
wget https://dl.google.com/cloudsql/cloud_sql_proxy.linux.amd64 -O cloud_sql_proxy chmod +x cloud_sql_proxy
连接正常。
mysql --host=[INSTANCE_IP_ADDR] --user=root --password
TCP 套接字
./cloud_sql_proxy -instances==tcp:3306
发生以下错误。
$ mysql -u root -p --host 127.0.0.1 --port 3306 Enter password: ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0 "Internal error/check (Not系统错误)”
2018/07/24 06:57:43 在 127.0.0.1:3306 上收听 xxxxxx:asia-east1:xxxxxx 2018/07/24 06:57:43 准备好新的连接 2018/07/24 06:59:16 新“xxxxxxx:asia-east1:xxxxxx”的连接 2018/07/24 06:59:17 无法连接到“xxxxxxx:asia-east1:xxxxx”:x509:证书由未知机构签名(可能是因为“crypto/ rsa:验证错误”,同时尝试验证候选权威证书“Google Cloud SQL Server CA”)
我无法解决连接错误,我遇到了麻烦。帮我。
谢谢你的指导。我尝试使用 credential_file 选项,但发生了类似的错误。
须藤 vi xxxx917672.json
./cloud_sql_proxy -instances=xxxxxx:asia-east1:xxxxxx:3306 -credential_file=xxxxxxxxx917672.json
$ ./cloud_sql_proxy -instances=xxxxxx:asia-east1:xxxxxxx=tcp:3306 -credential_file=xxxxxxx917672.json 2018/07/24 09:23:48 使用凭证文件进行身份验证;email=xxxxxxxxx@developer.gserviceaccount.com 2018/07/24 09:23:48 在 127.0.0.1:3306 上收听 v
$ mysql -u root -p --host 127.0.0.1 --port 3306 Enter password: ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
2018/07/24 09:25:57 “xxxxxx:asia-east1:xxxxxxx”的新连接 2018/07/24 09:25:58 无法连接到“xxxxx:asia-east1:xxxxxxx”:x509:证书由未知机构签名(可能是因为“crypto/rsa:验证错误”,同时尝试验证候选机构证书“Google Cloud SQL Server CA”)
Compute Engine默认服务帐号,因为没有创建key,所以key是由json创建并执行的。此外,从 Compute Engine 的 VM 实例的详细信息中,我们确认了对服务帐户的权限以及对所有 Cloud API 的完全访问权限。
设置有什么问题吗?
ruby-on-rails - 没有找到主要的连接池
我正在使用 Rails,并且非常随机地遇到连接池错误,并且它没有专门针对任何单个端点。我可以在大约 70% 的时间内到达端点而不会出现此错误。该数据库是在 Google Cloud 上运行的 PostgreSQL。这是我得到的错误的主要内容:
宝石文件:
数据库.yml:
我们正在使用:
红宝石 2.5.0 轨道 5.1.5
在 Google 的 CloudSQL 上使用 Postgresql
kubernetes - Kubernetes单个pod中容器终止的控制顺序
我在一个吊舱内有两个容器。一个是我的应用程序容器,第二个是 CloudSQL 代理容器。基本上我的应用程序容器依赖于这个 CloudSQL 容器。
问题是,当 Pod 终止时,CloudSQL 代理容器首先终止,并且仅在几秒钟后我的应用程序容器才终止。
因此,在我的容器终止之前,它会不断向 CloudSQL 容器发送请求,从而导致错误:
这就是为什么,我认为指定终止顺序是个好主意,以便我的应用程序容器首先终止,然后才是 cloudsql 一个。
我在文档中找不到任何可以做到这一点的东西。但也许有一些方法。
kubernetes - 为不同的环境(Kubernetes + Google Cloud 或 Minikube)配置不同的 Pod 配置
我有一个(容器化)网络服务与 Google Cloud 中的外部 CloudSQL 服务通信。我使用了 Sidecar 模式,其中 Google Cloud SQL 代理容器位于 Web 服务旁边,并对外部 CloudSQL 服务进行身份验证+代理。这工作正常。让我们用容器“api”+“pg-proxy”将此部署称为“deployment-api”
当我想在我的本地 minikube 集群上部署应用程序时会出现问题,由于服务与我计算机上的本地 postgres 服务器通信,该集群需要具有不同的配置。如果我将“deployment-api”按原样部署到 minikube,它会尝试运行 barfs 和整个 pod 进入崩溃循环的“pg-proxy”容器。有没有办法让我在没有 Pod 的两个定义的情况下选择性地不部署“pg-proxy”容器,例如,使用选择器/标签?我不想将 pg-proxy 容器移动到它自己的部署中。
google-cloud-sql - 如何使用主管启动 Cloud SQL 代理
我试图在 上启动 CloudSQL 代理supervisor
,但是我不知道它有什么问题。该文档没有显示此问题的任何线索。任何想法将不胜感激。
我在干净的 Ubuntu 16 上尝试了设置,然后安装了主管并下载了 cloud_sql_proxy。我将文件放在下面/root
并以root身份执行以进行调试。
这是我当前的设置:
/etc/supervisord.conf
/etc/supervisor/conf.d/cloud_sql_proxy.conf
检查后出现以下错误/tmp/supervisord.log
:
google-cloud-sql - 有没有办法禁用 cloud_sql 的公共 IP,同时通过部署管理器使用私有 IP
我正在使用部署管理器使用私有 IP 部署 cloud_sql,默认情况下,这些部署启用了公共 IP。
有没有办法使用 Deployment Manager 禁用公共 IP?
entity-framework - 如何使用 CloudSQL 代理将 EntityFramework Core 连接到多个 Google CloudSQL 实例?
我有 2 个 Postgres 数据库,每个数据库都在它们自己的 CloudSQL 实例中,还有一个在 GKE 中运行的 .NET Web 应用程序。
目标:使用 EntityFramework Core 将 Web 应用程序连接到使用单个 CloudSQL 代理的两个 CloudSQL 实例。
每个 CloudSQL 实例都有一个 EF Core DbContext。使用 2 个环境变量设置上下文连接:
环境变量设置为:
当前行为:
Context1 与 CloudSQL instance1 正常交互。
Context2"42P01: relation {my_Table_Name} does not exist."
在尝试访问表时抛出 PostgresException。
注意:"my_Table_Name"
是 CloudSQL instance2 中的一个表
这让我相信 Context2 正在尝试访问 CloudSQL instance1 而不是 instance2。
如何通过 SQL 代理将 Context2 指向 CloudSQL instance2?
google-cloud-platform - 云 sql 代理作为 Windows 7 上的服务
在“windows 7”操作系统中将“cloud_sql_proxy”作为服务运行我有二进制“cloud_sql_proxy”,我可以使用它访问谷歌云平台中的mysql服务器实例,一切正常。但我需要确保 Google 提供的可执行文件始终在运行,因此我的应用程序/客户端程序不会丢失与这些服务的链接。
知道我该怎么做吗?