簡體   English   中英

連接到 kubernetes 上的主副本集 mongo

[英]Connect to primary replica set mongo on kubernetes

我在 kubernetes 上配置了一個帶有兩個副本的 mongodb:* mongo-0 * mongo-1 我還有另一個帶有 mongo-express * mongo-express 的 pod

問題是,我想將 mongo-express 連接到主 mongo 副本,但是 kubernetes 正在做負載平衡,所以,有時它會作為主連接而其他時候作為輔助連接

我該如何解決這個問題?

謝謝

你應該為你的任何 mongo 創建一個服務。 這意味着您應該為 3 個 pod 提供 3 個服務。 通過一項服務,您無法做到這一點。

您可以創建 MongoDB 的集群。 但是對於 MongoDB-express 副本,您可以創建服務並將其連接到其他副本可能不起作用。

如果您將使用 helm 安裝 mongodb 集群,則 mongodb 圖表以這種方式模板化,它允許您在服務級別定義(帶有標簽選擇器)上選擇它應該針對哪些特定副本 - 主要或次要副本。 請記住,它不會留給用戶自定義圖表值,因此它需要“硬”更改。 至少它應該讓您了解如何輕松實現您的需求。

這是示例清單文件:

# 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  <---

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM