
Estoy intentando ejecutar mongodb a través de helm. Quiero ejecutar 1 réplica principal y 2 réplicas secundarias.
Me gustaría configurar el siguiente nombre para los 3 pods de mongodb una vez creados: mongo-0 mongo-1 mongo-2 Y digamos que mongo-0 sería el principal.
Cuando ejecuto el siguiente comando
helm install --name mongo ~/charts/stable/mongodb --set replicaSet.enabled=true,fullnameOverride=mongo
Los pods no requieren denominación:
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
Por favor, ¿algún consejo sobre cómo puedo cambiar eso? Lo probé también cambiando valores-producción.yml pero obtuve el mismo resultado.
Respuesta1
Necesitas modificar elplantilla de gráfico de timón de mongoDB.
Para ser más específico, necesita cambiar los siguientes archivos.
gráficos/estable/mongodb/templates/statefulset-arbiter-rs.yaml
editar líneas:
name: {{ template "mongodb.fullname" . }}-arbiter
y
Y reemplácelo arbiter
con el nombre de ReplicaSet que desee.
gráficos/estable/mongodb/templates/statefulset-primary-rs.yaml
editar líneas:
name: {{ template "mongodb.fullname" . }}-primary
y
Y reemplácelo primary
con el nombre de ReplicaSet que desee.
gráficos/estable/mongodb/templates/statefulset-secundario-rs.yaml
editar líneas:
name: {{ template "mongodb.fullname" . }}-secondary
y
Y reemplácelo secondary
con el nombre de ReplicaSet que desee.
Respuesta2
Como mi comentario no se muestra en una forma muy legible, publicaré mi comentario también aquí:
Es una buena idea pero no 100% efectiva. Estoy ejecutando los pods en statefulset, por lo que kubectl get rs no devuelve ningún resultado. Aquí está kubectl obtener ss:
kubectl get statefulsets
NAME DESIRED CURRENT AGE
mongo-0 1 1 93s
mongo-1 1 1 93s
mongo-2 1 1 93s
Después de cambiar las configuraciones como sugirió Crou, obtengo pods como este:
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
Ahora me gustaría eliminar el -0 al final para obtener:
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