连接到主副本在kubernetes上设置mongo。

问题描述 投票:0回答:3

我在kubernetes上配置了一个有两个副本的mongodb:* mongo-0* mongo-1,我还有一个有mongo-express* mongo-express的pod。

问题是,我想把mongo-express连接到主Mongo replica上,但kubernetes在做负载均衡,所以,有些时候它会连接成主,有些时候会连接成副。

如何解决这个问题?

谅谅

mongodb kubernetes
3个回答
0
投票

这意味着你应该有3个服务为3个pod.通过一个服务,你不能做到这一点。


0
投票

你可以创建MongoDB的集群。但对于MongoDB-express副本,你可以创建服务,并将其连接到其他副本可能不会工作。


0
投票

如果你用 helm 安装你的 mongodb 群集,mongodb 图表是以这种方式模板化的,它允许你在服务级别定义中选择它应该针对哪个特定的副本--primary 或 secondary。只是要记住,它不允许用户自定义图表值,所以需要 "硬 "修改。至少它应该给你一个想法,如何轻松实现你的需求。

这里是示例清单文件。

# Source: mongodb/templates/svc-primary-rs.yaml
apiVersion: v1
kind: Service
metadata:
  name: my-mongo-mongodb
  labels:
    app: mongodb
    chart: mongodb-5.3.0
    release: "my-mongo"
    heritage: "Tiller"
spec:
  type: ClusterIP
  ports:
  - name: mongodb
    port: 27017
    targetPort: mongodb
  selector:
    app: mongodb
    release: "my-mongo"
    component: secondary  <---
© www.soinside.com 2019 - 2024. All rights reserved.