从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

+0

Facepalm。我被教程中写的内容抛弃了。谢谢! –