使用Navicat本地连接K8S部署的MongoDB

本文讲述了作者在Kubernetes部署MongoDB时,遇到本地Navicat连接失败的问题,涉及ReplicaSet的节点识别、K8s网络访问规则和版本兼容性解决方案。通过在hosts文件添加手动映射和调整NodePort,解决了连接问题。
部署运行你感兴趣的模型镜像

kubernetes部署的mongodb在使用本地Navicat连接时,报错连接失败,以及版本问题,或者其他网络问题等。

小编是深有体会,接下来,我把我遇到的问题以及处理方式做个简单叙述。

在k8s部署应用状态以及pod日志输出和集群内部访问都没问题,在使用外部本地连接时,报错如下:No suitable servers found:‘serverSelectionTimeoutMS’ coneection refused calling ismaster on ‘***:27017’

由于MongoDB Replica Set在连接过程会做一次节点间的互相识别(认识一下哪个节点是Primary,哪个节点是Secondary),而在K8S集群内部访问当然没有问题,可是如果外部网络想要进行连接,就容易出问题。K8S本身是以服务名.命名空间的形式进行网络访问通讯,外部以服务名.命名空间进行连接,返回得到的是经过kube-service DNAI后的IP,而Replica Set的hosts是以服务名或者服务名.命名空间组成,造成serverSelectionTimeoutMS。

C:\Windows\System32\drivers\etc\hosts添加一下字段:
127.0.1.11 mongo1.mongodb-01
127.0.1.12 mongo2.mongodb-01
127.0.1.13 mongo3.mongodb-01

我已一个节点演示:

按照如上配置,端口一定是我们使用NodePort暴露的端口!

点击发现~不报错!!

然后点击测试连接!!

连接成功!!!!!!

=============================================

如果测试连接报错如下:

说明你使用的版本和Navicat不兼容,怎么办呢?只能修改兼容的版本!

您可能感兴趣的与本文相关的镜像

Python3.9

Python3.9

Conda
Python

Python 是一种高级、解释型、通用的编程语言,以其简洁易读的语法而闻名,适用于广泛的应用,包括Web开发、数据分析、人工智能和自动化脚本

评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

bilibili_架构师九哥

欢迎您的观看,留点什么吧!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值