Подключение к Google Cloud SQL из контейнерного движка: не удается разрешить cloud sql proxy

#google-cloud-sql #google-kubernetes-engine

#google-cloud-sql #google-kubernetes-engine

Вопрос:

Я пытаюсь подключиться к Google Cloud SQL из приложения node, которое работает в модуле Google Container Engine, управляемом Kubernetes. Я следовал инструкциям здесь, чтобы создать Cloud SQL proxy.

Когда я запускаю приложение, я получаю:

 {
    "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-proxy:

 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
  

Ответ №1:

Похоже, вы указываете хост как 127.0.0.1:3306 вместо 127.0.0.1 .

Комментарии:

1. Facepalm. Я был сбит с толку тем, что было написано в руководстве. Спасибо!