如何在Kubernetes上创buildMongoDB集群?

我想创build这三台机器的MongoDB副本,它需要指定这些机器的IP地址? 但他们碰到了一个吊舱,拥有一个dynamic的IP。 如果您尝试指定DNS名称服务MongoDB,他说

新configurationXXXXX中描述的副本集app_replica中未描述的主机映射到此节点

如何configurationc k8s的MongoDB副本?

我使用k8s的DNS-addons。 我尝试初始化群集如下:

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) 

configuration服务:

 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" 

configuration复制控制器:

 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" 

您需要设置多个部署和服务。 看看这个动物园pipe理员的例子 – https://gist.github.com/bprashanth/8160d0cf1469b4b125af95f697433934

您不依赖节点/机器IP。 相反,您依赖于多个服务的稳定的DNS名称。