2016-04-08 8 views
2

私は3つのマシンのMongoDBレプリカを作成したい、それらのマシンのIPアドレスを指定する必要がありますか?しかし、彼らはポッドの中に流れ込み、動的IPを持っています。あなたはDNS名サービスにMongoDBを指定しようとすると、彼はKubernetesでMongoDBクラスタを作成するには?

を言うレプリカの新しい設定XXXXXで説明しませホストが、このノードのC K8SのためのMongoDBのレプリカを構成する方法

に app_replicaマップを設定していませんか?

私はk8sにDNSアドオンを使用しています。次のように そして私は、クラスタを初期化しよう:

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) 

構成サービス:

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" 

コンフィグ複製コントローラー:セットアップ複数の展開にあなたが必要

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" 

答えて

関連する問題