Python 尝试连接到CloudSQL postgres时发生Sqlalchemy/psycopg2错误

Python 尝试连接到CloudSQL postgres时发生Sqlalchemy/psycopg2错误,python,kubernetes,sqlalchemy,istio,redash,Python,Kubernetes,Sqlalchemy,Istio,Redash,我正在使用主/节点版本为1.12.10-GKE.17和istio1.1.15 我使用带有postgres 9.6 尝试从redash图像(7.0.0.b18042)执行create_db脚本时,我遇到以下错误 回溯(最近一次呼叫最后一次): 文件“/app/manage.py”,第9行,在 经理() 文件“/usr/local/lib/python2.7/dist packages/click/core.py”,第716行,在调用中__ 返回self.main(*args,**kwargs) 文

我正在使用主/节点版本为
1.12.10-GKE.17
istio
1.1.15
我使用带有
postgres 9.6

尝试从
redash
图像(
7.0.0.b18042
)执行
create_db
脚本时,我遇到以下错误

回溯(最近一次呼叫最后一次):
文件“/app/manage.py”,第9行,在
经理()
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,第716行,在调用中__
返回self.main(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist packages/flask/cli.py”,第345行,在main中
返回AppGroup.main(self、*args、**kwargs)
文件“/usr/local/lib/python2.7/dist-packages/click/core.py”,主目录第696行
rv=自调用(ctx)
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,调用中的第1060行
返回进程结果(sub_ctx.command.invoke(sub_ctx))
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,调用中的第1060行
返回进程结果(sub_ctx.command.invoke(sub_ctx))
文件“/usr/local/lib/python2.7/dist-packages/click/core.py”,调用中第889行
返回ctx.invoke(self.callback,**ctx.params)
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,调用中的第534行
返回回调(*args,**kwargs)
文件“/usr/local/lib/python2.7/dist packages/click/decorators.py”,第17行,在new_func中
返回f(获取当前上下文(),*args,**kwargs)
文件“/usr/local/lib/python2.7/dist packages/flask/cli.py”,第229行,在decorator中
return _ctx.invoke(f,*args,**kwargs)
文件“/usr/local/lib/python2.7/dist packages/click/core.py”,调用中的第534行
返回回调(*args,**kwargs)
文件“/app/redash/cli/database.py”,第31行,在创建表中
db.create_all()
文件“/usr/local/lib/python2.7/dist-packages/flask\u-sqlalchemy/\uuuuuuu-init\uuuuuu.py”,第963行,在create\u-all中
self.\u为所有表执行(应用程序、绑定、“创建所有表”)
文件“/usr/local/lib/python2.7/dist packages/flask\u sqlalchemy/\uuuuuuu init\uuuuuuuuuuuuuuu.py”,第955行,针对所有表执行
op(绑定=自身获取引擎(应用,绑定),**额外)
文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/sql/schema.py”,第4005行,在create_all中
表=表)
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py”,第1939行,在
使用self.\u可选\u连接\u ctx\u管理器(连接)作为连接:
文件“/usr/lib/python2.7/contextlib.py”,第17行,输入__
返回self.gen.next()
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py”,第1932行,在“可选连接”ctx\U管理器中
使用self.context_connect()作为连接:
上下文连接中的文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/engine/base.py”,第2123行
self.\u wrap\u pool\u connect(self.pool.connect,无),
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py”,第2162行,在_-wrap\u-pool\u-connect中
e、 方言(自我)
文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/engine/base.py”,第1476行,在\u handle\u dbapi\u exception\u noconnection中
exc_信息
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/compat.py”,第265行,在raise\u from\u cause中
重新释放(类型(异常),异常,tb=exc\U tb,原因=原因)
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/base.py”,第2158行,在_-wrap\u-pool\u-connect中
返回fn()
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py”,第400行,在connect中
返回\u连接\u签出(自我)
文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/pool.py”,第788行,in\u签出
fairy=\u ConnectionRecord.checkout(池)
文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/pool.py”,第529行,在签出中
rec=pool.\u do\u get()
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py”,第1193行,在
self._dec_overflow()
文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/util/langhelpers.py”,第66行,在__
兼容性(exc_类型、exc_值、exc_tb)
文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/pool.py”,第1190行,在
返回self.\u创建\u连接()
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py”,第347行,位于“创建”连接中
返回连接记录(自身)
文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/pool.py”,第474行,在__
自我连接(第一次连接检查=真)
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/pool.py”,第671行,在连接中
连接=池。\u调用\u创建者(自身)
文件“/usr/local/lib/python2.7/dist packages/sqlalchemy/engine/strategies.py”,第106行,在connect中
返回方言。连接(*cargs,**cparams)
文件“/usr/local/lib/python2.7/dist-packages/sqlalchemy/engine/default.py”,第412行,在connect中
返回self.dbapi.connect(*cargs,**cparams)
文件“/usr/local/lib/python2.7/dist-packages/psycopg2/_-init__;.py”,第130行,在connect中
连接=连接(dsn,连接工厂=连接工厂,**kwasync)
sqlalchemy.exc.OperationalError:(psycopg2.OperationalError)服务器意外关闭了连接
这可能意味着服务器异常终止
在处理请求之前或期间。
(有关此错误的背景信息,请访问:http://sqlalche.me/e/e3q8)
我不知道是什么原因导致了这一点,也就是说,这是CloudSQL的问题,还是一些
istio
配置错误或其他什么

当我执行到容器中并尝试手动连接到CloudSQL时,同样的错误(堆栈跟踪较小)会重现

>>> import psycopg2
>>> conn = psycopg2.connect(host="192.44.33.1",database="postgres", user="postgres", password="mypass")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/psycopg2/__init__.py", line 130, in connect
    conn = _connect(dsn, connection_factory=connection_factory, **kwasync)
psycopg2.OperationalError: server closed the connection unexpectedly
    This probably means the server terminated abnormally
    before or while processing the request.
导入psycopg2 >>>conn=psycopg2.connect(host=“192.44.33.1”,database=“postgres”,user=“postgres”,password=“mypass”) 回溯(最近一次呼叫最后一次): 文件“”,第1行,在 文件“/usr/local/lib/python2.7/dist-packag
apiVersion: networking.istio.io/v1alpha3
kind: ServiceEntry
metadata:
  name: www.googleapis.com
spec:
  hosts:
  - www.googleapis.com
  - oauth2.googleapis.com
  ports:
  - number: 443
    name: https
    protocol: HTTPS
  resolution: DNS
  location: MESH_EXTERNAL