【问题标题】:How to troubleshoot failing connection between cloudsql-docker/gce-proxy and deployed Python Container如何解决 cloudsql-docker/gce-proxy 和已部署的 Python 容器之间的连接失败问题
【发布时间】:2019-01-05 19:24:36
【问题描述】:

我一直致力于将一个简单的 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 Polls 应用程序 [https://cloud.google.com/python/django/kubernetes-engine] 这在社区中是众所周知的,并且成功地完成了几次以建立一些熟悉度,然后应用 与我自己的项目相同的步骤来解决这个问题。

我的 pod 日志没有显示任何错误。我已经将我的 .yaml 和 Dockerfiles 与许多有效的示例进行了比较,并且没有发现任何问题,SO 上的其他相关问题似乎也没有解决这个问题。

我已经尝试了一天左右的时间来解决这个问题,作为一个学习过程,但没有取得进一步的进展。

非常感谢您帮助解决此问题。

【问题讨论】:

    标签: django google-cloud-platform google-cloud-sql


    【解决方案1】:

    我的故障排除中的差距是我不知道检查 pod 日志并没有给我来自 sql-proxy 组件的日志,只有 app 组件。 当我检查来自 sql 代理的日志时,很明显没有为该项目启用 Cloud SQL Admin API。启用它可以解决问题。

    希望这个答案能帮助其他谷歌员工。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-29
      • 1970-01-01
      • 2019-05-13
      • 2019-07-07
      • 2013-10-07
      • 1970-01-01
      • 2018-09-04
      • 2023-03-21
      相关资源
      最近更新 更多