私は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"