我有一个带有运行REST API的Golang二进制文件的Pod . 在gce Cloud SQL代理的pod中有一个侧面汽车 .
我经常收到“ dial tcp 127.0.0.1:3306: connect: connection refused
”错误
Proxy to CloudSQL连接工作正常,我可以通过 Cloud shell成功连接相同的凭据 .
在pod中,我还添加了mysql客户端,我可以连接到我的数据库,所以我认为凭据和一切都很好,我已经证明了cloudql连接的代理工作并且可以查询数据库
我有以下几点;
-
来自1.10的Golang二进制文件
-
Google Cloud上的Kubernetes引擎
-
群集版本:1.10.2-gke.3
-
二进制文件运行在高山:最新容器之上
-
当前SQL Libary是https://github.com/go-sql-driver/mysql
-
GCE Cloud Proxy Latest和1.11
-
作为环境变量添加的凭据是正确的用户:password @ tcp:host:port / DATABASE
-
代码使用get
os.Getenv
作为env变量 -
用作参考:https://cloud.google.com/sql/docs/mysql/connect-kubernetes-engine
-
Cloud SQL实例已启动并正在运行
-
秘密在kube中创建并作为卷安装
在之前的测试中,在几个月前工作之前的唯一变化是向kubernetes部署添加服务,并在名为alpha的命名空间中运行部署和所有内容,而不是默认值 . 创建凭证并在名称空间中创建所有内容 .