描述:
你好!
我已经创建了一个复制组3和暴露了db cr.yaml集群使用以下配置:
公开:启用:真正exposeType: loadbalance
我能连接到数据库之外的k8集群使用直接连接没有任何问题。然而,问题出现了,当我试图连接到整个副本集之外的k8集群使用以下命令:
mongosh“mongodb: / / < LB_IP_0 >, < LB_IP_1 >、< LB_IP_2 > / admin ? replicaSet = rs0&ssl = false”
不幸的是,这种行动导致一个错误:
MongoNetworkError: getaddrinfo ENOTFOUND mongodb -测试- rs0 - 1. - mongodb -测试- rs0.mongodb test.svc.cluster.local
从我的理解,这个错误出现了因为mongosh模式连接到远程数据库首先利用种子列表(< LB_IP_0 >、< LB_IP_1 >、< LB_IP_2 >)连接到任何的一个实例。然后检索信息主要是谁,主机返回的列表rs.isMaster ()命令。之后,它丢弃初始种子列表中提供连接字符串和雇佣的主机列表rs.isMaster ()命令。因为这些主机只能从内部访问k8集群,这导致错误。
我的问题是——我丢失的东西在我的配置吗?如果不是,是唯一可能的方式设置正确的曝光后,副本集clusterServiceDNSMode:“外部”吗?
版本:
1.14.0
我们有同样的问题,我们不得不转向clusterServiceDNSMode:“外部”来解决这个问题。