从Container Engine连接到Google Cloud SQL:无法解析云端SQL代理
问题描述:
我试图从节点应用程序连接到Google Cloud SQL,该节点应用程序在由Kubernetes管理的Google Container Engine窗格中运行。我按照指示here创建了一个Cloud SQL代理。从Container Engine连接到Google Cloud SQL:无法解析云端SQL代理
当我运行应用程序时,我得到:
{
"code": "ENOTFOUND",
"errno": "ENOTFOUND",
"syscall": "getaddrinfo",
"hostname": "127.0.0.1:3306",
"host": "127.0.0.1:3306",
"port": 3306,
"fatal": true
}
所以它看起来好像代理不能得到解决。
我已经运行kubectl describe pods <pod_name>
和代理似乎是健康:
cloudsql-proxy:
Container ID: docker://47dfb6d22d5e0924f0bb4e1df85220270b4f21e971228d03148fef6b3aad6c6c
Image: b.gcr.io/cloudsql-docker/gce-proxy:1.05
Image ID: docker://sha256:338793fcb60d519482682df9d6f88da99888ba69bc6da96b18a636e1a233e5ec
Port:
Command:
/cloud_sql_proxy
--dir=/cloudsql
-instances=touch-farm:asia-east1:api-staging=tcp:3306
-credential_file=/secrets/cloudsql/credentials.json
Requests:
cpu: 100m
State: Running
Started: Sat, 01 Oct 2016 20:38:40 +1000
Ready: True
Restart Count: 0
Environment Variables: <none>
,似乎不寻常我就是Port
字段为空的唯一的事情,但是有上面提到的指南中的指令在部署配置文件中公开端口。我也尝试在配置文件中指定3306端口,但虽然端口随后显示在kubectl describe pods
输出中,但节点仍找不到代理。
我在这里错过了什么?为什么我无法解析代理?
编辑(详细信息)从CLOUDSQL代理容器
日志:
2016-10-01T11:44:40.108529344Z 2016/10/01 11:44:40 Listening on 127.0.0.1:3306 for touch-farm:asia-east1:api-staging
2016-10-01T11:44:40.108561194Z 2016/10/01 11:44:40 Ready for new connections
答
它看起来像你指定主机127.0.0.1:3306
而不是127.0.0.1
。
Facepalm。我被教程中写的内容抛弃了。谢谢! –