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"