
Ich versuche, MongoDB über Helm auszuführen. Ich möchte 1 primäres Replikat und 2 sekundäre Replikate ausführen.
Ich möchte für die drei MongoDB-Pods nach ihrer Erstellung die folgende Benennung einrichten: mongo-0, mongo-1, mongo-2. Nehmen wir an, mongo-0 wäre primär.
Wenn ich den folgenden Befehl ausführe
helm install --name mongo ~/charts/stable/mongodb --set replicaSet.enabled=true,fullnameOverride=mongo
Die Pods müssen nicht benannt werden:
kubectl get pods
NAME READY STATUS RESTARTS AGE
mongo-arbiter-0 1/1 Running 0 15s
mongo-primary-0 0/1 Running 0 15s
mongo-secondary-0 0/1 Running 0 15s
Bitte geben Sie mir einen Rat, wie ich das ändern kann. Ich habe es auch versucht, indem ich values-production.yml geändert habe, aber die Ausgabe war dieselbe.
Antwort1
Sie müssen dieMongoDB-Helm-Diagrammvorlage.
Um genauer zu sein, müssen Sie die folgenden Dateien ändern.
Diagramme/stabil/mongodb/Vorlagen/statefulset-arbiter-rs.yaml
Zeilen bearbeiten:
name: {{ template "mongodb.fullname" . }}-arbiter
Und
Und ersetzen Sie es arbiter
durch den gewünschten Namen des Replikationssatzes.
Diagramme/stabil/mongodb/Vorlagen/statefulset-primary-rs.yaml
Zeilen bearbeiten:
name: {{ template "mongodb.fullname" . }}-primary
Und
Und ersetzen Sie es primary
durch den gewünschten Namen des Replikationssatzes.
Diagramme/stabil/mongodb/Vorlagen/statefulset-secondary-rs.yaml
Zeilen bearbeiten:
name: {{ template "mongodb.fullname" . }}-secondary
Und
Und ersetzen Sie es secondary
durch den gewünschten Namen des Replikationssatzes.
Antwort2
da mein Kommentar nicht in sehr lesbarer Form angezeigt wird, poste ich ihn auch hier:
es ist eine gute Idee, aber nicht 100 % effektiv. Ich führe die Pods im Statefulset aus, daher gibt kubectl get rs keine Ausgabe zurück. Hier ist kubectl get ss:
kubectl get statefulsets
NAME DESIRED CURRENT AGE
mongo-0 1 1 93s
mongo-1 1 1 93s
mongo-2 1 1 93s
Nachdem ich die Konfigurationen wie von Crou vorgeschlagen geändert habe, erhalte ich Pods wie diese:
kubectl get pods
NAME READY STATUS RESTARTS AGE
mongo-0-0 1/1 Running 0 39s
mongo-1-0 1/1 Running 0 39s
mongo-2-0 1/1 Running 0 39s
Nun möchte ich am Ende die -0 löschen, damit ich Folgendes bekomme:
kubectl get pods
NAME READY STATUS RESTARTS AGE
mongo-0 1/1 Running 0 39s
mongo-1 1/1 Running 0 39s
mongo-2 1/1 Running 0 39s