首页 > 解决方案 > 将mongodb连接到kubernetes集群中的应用程序

问题描述

我想在k8s中连接mongo pod,uri地址错误。地址是

mongo "mongodb://eli:1234@calocalc-chart-mongodb-0.mongodb-headless.default.svc.cluster.local:27017/calocalcdb?replicaSet=rs0&authSource=admin"

无论我做什么,它都会给我这个错误:

root@mongo:/# mongo "mongodb://eli:1234@calocalc-chart-mongodb-0.mongodb-headless.default.svc.cluster.local:27017/calocalcdb?replicaSet=rs0&authSource=admin"
MongoDB shell version v5.0.3
connecting to: mongodb://calocalc-chart-mongodb-0.mongodb-headless.default.svc.cluster.local:27017/calocalcdb?authSource=admin&compressors=disabled&gssapiServiceName=mongodb&replicaSet=rs0
{"t":{"$date":"2021-11-02T10:15:00.806Z"},"s":"I",  "c":"NETWORK",  "id":4333208, "ctx":"ReplicaSetMonitor-TaskExecutor","msg":"RSM host selection timeout","attr":{"replicaSet":"rs0","error":"FailedToSatisfyReadPreference: Could not find host matching read preference { mode: \"nearest\" } for set rs0"}}
Error: Could not find host matching read preference { mode: "nearest" } for set rs0, rs0/calocalc-chart-mongodb-0.mongodb-headless.default.svc.cluster.local:27017 :
connect@src/mongo/shell/mongo.js:372:17
@(connect):2:6
exception: connect failed
exiting with code 1

我还尝试在 URI 的开头添加用户名和密码,它给出了相同的结果。pod 的名称是正确的,我通过 helm 安装它并禁用了仲裁器。我有 3 个 mongo pod,但我现在只想连接一个,当它可以工作时,我也会尝试连接到另外 2 个。

如果需要任何其他信息,请告诉我,我将更新此线程。

标签: pythonmongodbkubernetespymongokubernetes-helm

解决方案


推荐阅读