当我在Docker上运行时,一切工作正常,但是在将其迁移到Kubernetes之后,它停止了与数据库的连接。它说:
pymongo.errors.ServerSelectionTimeoutError
pymongo.errors.ServerSelectionTimeoutError: connection closed
每当我尝试访问使用数据库的页面时。
我这样连接:
app.config['MONGO_DBNAME'] = 'pymongo_db'
app.config['MONGO_URI'] = 'mongodb://fakeuser:FakePassword@ds1336984.mlab.com:63984/pymongo_db'
有什么方法可以使其连接?
编辑:
我认为这与Istio边车有更多关系,因为当部署在Kubernetes减去Istio上时,它可以正常运行。该问题仅在运行Istio时出现。
答案 0 :(得分:1)
最有可能的Istio(特使边车)正在控制出口流量。您可以检查集群中是否有针对特定应用程序的ServiceEntry
和VirtuaService
:
$ kubectl -n <your-namespace> get serviceentry
$ kubectl -n <your-namespace> get virtualservice
如果它们存在,请检查它们是否允许流量到ds1336984.mlab.com
。如果它们不存在,则必须create。