python - 将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 个。
如果需要任何其他信息,请告诉我,我将更新此线程。
解决方案
推荐阅读
- python - 在设计循环队列中将 queue.front 初始化为 -1 或 0
- wordpress - 使用 Blogger 或 WordPress 对我的网站排名有何影响?
- php - 通过 PHP 使用 imagemagick 向图像添加日期和时间?
- reactjs - React 客户端尝试访问服务器资源而不访问它得到 404
- node.js - 为运行二进制文件的 NPM 脚本设置 CWD
- webgl - 移除 TWGL 中的蓝色方块
- c# - 使用 DbDataReader 读取(迭代)数据时的巨大托管内存分配
- ios - 命令 RuleScriptExecution 失败,退出代码非零
- c# - Android游戏杆的问题
- ruby - 在 selenium webdriver + capyabara 中命名屏幕截图的好模式是什么