0

我有一个带有运行 REST API 的 Golang 二进制文件的 Pod。pod 中有一个边车,用于 gce 云 SQL 代理。

我不断收到“ dial tcp 127.0.0.1:3306: connect: connection refused”错误

CloudSQL 连接的代理正在工作,我可以使用相同的凭据通过云外壳成功连接。

在 pod 中,我还添加了 mysql 客户端,我可以连接到我的数据库,所以我认为凭据和一切都很好,我已经证明了 cloudsql 连接的代理工作并且可以查询数据库

我有以下内容;

  • 来自 1.10 的 Golang 二进制文件
  • 谷歌云上的 Kubernetes 引擎
  • 集群版本:1.10.2-gke.3
  • 二进制运行在 alpine:latest 容器之上
  • 当前的 SQL 库是https://github.com/go-sql-driver/mysql
  • GCE 云代理最新和 1.11
  • 作为环境变量添加的凭据是正确的 user:password@tcp:host:port/DATABASE
  • 代码使用 get 获取os.Getenv环境变量
  • 以此作为参考:https ://cloud.google.com/sql/docs/mysql/connect-kubernetes-engine
  • Cloud SQL 实例已启动并正在运行
  • 秘密在 kube 中创建并安装为卷

几个月前,在之前的测试中,唯一的变化是向 kubernetes 部署添加服务,并在名为 alpha 的命名空间中运行部署和所有内容,而不是默认。凭据已创建,并且名称空间中的所有内容都已创建。

4

0 回答 0