Как устранить неисправность соединения между cloudsql-docker / gce-proxy и развернутым контейнером Python - PullRequest
0 голосов
/ 05 января 2019

Я работал над развертыванием простого проекта Django в Google Cloud Platform.

Однако развернутое приложение всегда дает сбой, в основном это:

Django Version: 2.1.3
Exception Type: OperationalError
Exception Value:
server closed the connection unexpectedly
This probably means the server terminated abnormally
before or while processing the request.
Exception Location: /env/lib/python3.6/site-packages/psycopg2/__init__.py in connect, line 130
Python Executable:  /env/bin/python3
Python Version: 3.6.7

Я могу использовать точно такое же развертывание проекта django локально - подключиться к тому же облачному экземпляру sql, к которому пытается подключиться развернутое приложение, и оно отлично работает. Я могу продублировать ошибку локально, просто отключив локальный cloud_sql_proxy.

Это говорит о том, что приложение python / django работает одинаково как локально, так и развернуто. Также база данных Cloud SQL работает нормально, но по какой-то причине развернутый образ gcr.io/cloudsql-docker/gce-proxy:1.05, который я использую, не работает, или мое развернутое приложение не может подключиться к этому прокси-серверу.

Я несколько раз запускал приложение Django Опросы [https://cloud.google.com/python/django/kubernetes-engine] который хорошо известен сообществу и успешно проделал это несколько раз, чтобы развить знакомство, а затем применить те же самые шаги к моему собственному проекту как способ решения этой проблемы.

В моих журналах не отображаются ошибки. Я сравнил мои .yaml и Dockerfiles со многими примерами, которые работают и не могут найти проблем, также другие связанные проблемы в SO, похоже, не решают эту проблему.

Я пытался устранить неполадки в течение дня или около того в качестве учебного процесса, но никакого дальнейшего прогресса не достиг.

Некоторая помощь в устранении неполадок, это было бы очень полезно.

1 Ответ

0 голосов
/ 06 января 2019

Пробел в моем устранении неполадок заключался в том, что я не знал, что проверка журналов модуля не давала мне журналы из компонента sql-proxy, а только из компонента приложения. Когда я проверил логи с прокси-сервера sql, стало ясно, что API-интерфейс Cloud SQL не был включен для проекта. Включение этого исправило проблему.

Надеюсь, этот ответ поможет другим гуглерам.

...