Kubernetes:无法从其他命名空间访问mongodb replicaset服务
如果我的问题措辞有问题,请告诉我,这样我下次可以做得更好,或者修改问题 我做了什么。 使用rancher使用Amazon EKS创建集群 在“默认”命名空间中部署了nodejs应用程序 使用默认设置从rancher应用程序目录安装MongoDB replicasetKubernetes:无法从其他命名空间访问mongodb replicaset服务,kubernetes,rancher,replicaset,Kubernetes,Rancher,Replicaset,如果我的问题措辞有问题,请告诉我,这样我下次可以做得更好,或者修改问题 我做了什么。 使用rancher使用Amazon EKS创建集群 在“默认”命名空间中部署了nodejs应用程序 使用默认设置从rancher应用程序目录安装MongoDB replicaset 服务/部署名称为mongodb replicaset 命名空间也是mongodb复制集 当我使用mongodb://mongodb-replicaset:27017/tradeit_system?replicaSet=rs作为连
- 服务/部署名称为mongodb replicaset
- 命名空间也是mongodb复制集
mongodb://mongodb-replicaset:27017/tradeit_system?replicaSet=rs
作为连接字符串
我得到了错误
MongoNetworkError:无法在第一次连接时连接到服务器[mongodb replicaset-:27017][MongoNetworkError:getaddrinfo ENOTFOUND mongodb replicaset mongodb replicaset:27017]
然后我读到,要访问不同名称空间中的服务,还需要指定名称空间和服务名称
所以我做了这个mongodb://mongodb-replicaset.mongodb-replicaset:27017/tradeit_system?replicaSet=rss
作为连接url,我得到了错误
MongoError:在replicaset中未找到主副本或副本集名称无效
因此,如果要访问名称空间并引用集群域,则必须在hoststring中包含名称空间,而您没有这样做 引自 此服务管理的域的形式为:$(服务名称)。$(命名空间).svc.cluster.local,其中“cluster.local”是群集域 因此,在您的情况下,您的pod DNS将写为:
mongodb replicaset.mongodb replicaset.svc.cluster.local
注意:在kubernetes的标记描述中,建议在[serverfault.se]或[superuser.se]中询问最后一个错误,这表明您已成功连接到mongodb,但数据库集群配置不正确。因此,您已经解决了“连接到另一个命名空间中的服务”问题。这仍然不起作用mongodb://mongodb-replicaset.mongodb-replicaset.svc.cluster.local:27017/tradeit_system?replicaSet=rs
错误:MongoError:在replicaset中找不到主副本集或在一个地方发现无效的副本集名称您将replicaset设置为“rs”另一个是“rss”,默认为“rs0”,你知道它实际上是哪一个吗?谢谢。这就解决了!。默认复制集名称设置为rs0。