【发布时间】:2020-10-09 00:40:07
【问题描述】:
我的 k8 集群中运行着 Istio1.6。在集群中,我还部署了分片 mongodb 集群禁用了 istio-injection。
我的应用启用了 istio-injection 有一个不同的命名空间。如果我尝试从 pod 连接到 mongo,我会得到这个 connection reset by peer error:
root@mongo:/# mongo "mongodb://mongo-sharded-cluster-mongos-0.mongo-service.mongodb.svc.cluster.local:27017,mongo-sharded-cluster-mongos-1.mongo-service.mongodb.svc.cluster.local:27017/?ssl=false"
MongoDB shell version v4.2.8
connecting to: mongodb://mongo-sharded-cluster-mongos-0.mongo-service.mongodb.svc.cluster.local:27017,mongo-sharded-cluster-mongos-1.mongo-service.mongodb.svc.cluster.local:27017/?compressors=disabled&gssapiServiceName=mongodb&ssl=false
2020-06-18T19:59:14.342+0000 I NETWORK [js] DBClientConnection failed to receive message from mongo-sharded-cluster-mongos-0.mongo-service.mongodb.svc.cluster.local:27017 - HostUnreachable: Connection reset by peer
2020-06-18T19:59:14.358+0000 I NETWORK [js] DBClientConnection failed to receive message from mongo-sharded-cluster-mongos-1.mongo-service.mongodb.svc.cluster.local:27017 - HostUnreachable: Connection reset by peer
2020-06-18T19:59:14.358+0000 E QUERY [js] Error: network error while attempting to run command 'isMaster' on host 'mongo-sharded-cluster-mongos-1.mongo-service.mongodb.svc.cluster.local:27017' :
connect@src/mongo/shell/mongo.js:341:17
@(connect):2:6
2020-06-18T19:59:14.362+0000 F - [main] exception: connect failed
2020-06-18T19:59:14.362+0000 E - [main] exiting with code 1
但是如果我禁用 istio-injection 到我的应用程序(pod),那么我可以成功连接并按预期使用 mongo。
是否有解决方法,我想将 istio-proxy 注入我的应用程序/pod 并使用 mongodb?
【问题讨论】:
-
reset by peer通常表示有意关闭连接。检查您要连接的 mongod 节点的日志,以获取有关原因的线索。
标签: mongodb kubernetes istio