我已经使用Helm和图表stable/mongodb-replicaset在Kubernetes上部署了MongoDB ReplicaSet

在Kubernetes上,我可以使用某种连接字符串连接到MongoDB

mongodb://mongodb0.example.com:27017,mongodb1.example.com:27017,mongodb2.example.com:27017/?replicaSet=myRepl

如果我更改副本数,连接字符串也将更改,这也意味着连接到数据库的每个应用程序都需要更新。

有没有解决方法?

我想到创建一个服务,以便仅需更改它,但是连接字符串未通过正则表达式验证。

在这方面的任何帮助表示赞赏。

最佳答案

Helm图表stable/mongodb-replicaset还部署了2个无头服务:

  • <release name>-mongodb-replicaset
  • <release name>-mongodb-replicaset-client
  • <release name>-mongodb-replicaset的DNS记录返回所有副本的地址,因此,为了连接到副本集,连接字符串为
    "mongodb+srv://<release name>-mongodb-replicaset.namespace.svc.cluster.local/?tls=false&ssl=false"
    请注意,默认情况下已将tls和ssl设置为false进行测试。

    关于mongodb - 在Kubernetes上连接到MongoDB ReplicaSet,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/61490287/

    10-15 22:30