2016-04-08 12 views
2

Ich möchte MongoDB Replik der drei Maschinen erstellen, muss es die IP-Adressen dieser Maschinen angeben? Aber sie laufen in Pods und haben eine dynamische IP. Wenn Sie versuchen, den DNS-Namen-Service angeben MongoDB er sagtWie MongoDB-Cluster auf Kubernetes erstellen?

Kein Gastgeber in neue Konfiguration XXXXX für Replik beschrieben gesetzt app_replica Karten zu diesem Knoten

Wie MongoDB Replik für c K8S konfigurieren?

Ich benutze DNS-Addons für k8s. Und ich versuche, den Cluster zu initialisieren, wie folgt:

var config = { 
    "_id" : "app_replica", 
    "members" : [ 
     { 
      "_id" : 0, 
      "host" : "mongodb-node-01" 
     }, 
     { 
      "_id" : 1, 
      "host" : "mongodb-node-02" 
     }, 
     { 
      "_id" : 2, 
      "host" : "mongodb-node-03", 
      "arbiterOnly" : true 
     } 
    ] 
} 

rs.initiate(config) 

Config Service:

apiVersion: v1 
kind: Service 
metadata: 
    name: "mongodb-node-01" 
    labels: 
    app: "mongodb-node-01" 
spec: 
    ports: 
    - port: 27017 
    targetPort: 27001 
    selector: 
    app: "mongodb-node-01" 

Config Replication Controller:

apiVersion: v1 
kind: ReplicationController 
metadata: 
    name: "mongodb-node-01" 
    labels: 
    app: "mongodb-node-01" 
spec: 
    replicas: 1 
    selector: 
    app: "mongodb-node-01" 
    template: 
    metadata: 
     labels: 
     app: "mongodb-node-01" 
    spec: 
     containers: 
     - name: "mongodb-node-01" 
     image: 192.168.0.139:5000/db/mongo 
     command: 
      - mongod 
      - "--replSet" 
      - "app_replica" 
      - "--smallfiles" 
      - "--noprealloc" 
     env: 
     - name: ENV 
      value: "prod" 
     ports: 
     - containerPort: 27017 
     volumeMounts: 
     - name: mongo-persistent-storage 
      mountPath: /data/db 
      readOnly: false 
     volumes: 
     - name: mongo-persistent-storage 
     hostPath: 
      path: /data/mongo/mongodb-node-01 
     nodeSelector: 
     database: "true" 
     mongodb01: "true" 

Antwort