- MongoDB 8 como replica set (usa transacciones). Tres miembros repartidos en tres nodos sobreviven a la pérdida de un nodo; un solo miembro también funciona.
- Redis 7, un servidor con persistencia AOF. Redis contiene las ediciones que aún no se han escrito en MongoDB, las sesiones y los mensajes entre los servicios de Overleaf. Overleaf se conecta a un único servidor Redis: Sentinel y Redis Cluster no son compatibles.
En su lugar, puedes usar servicios gestionados, como MongoDB Atlas o el Redis de tu nube. Omite esta página y establece
OVERLEAF_MONGO_URL y OVERLEAF_REDIS_HOST con sus direcciones en el paso 4.1
MongoDB
10-mongo.yaml
PRIMARY y los demás en SECONDARY. El Job reintenta hasta que todos los miembros responden, así que es normal que fallen algunos pods del Job.- El Service headless necesita
publishNotReadyAddresses: true: los miembros deben encontrarse por nombre antes de que exista el replica set. - Los miembros se añaden con sus nombres estables (
mongo-0.mongo.overleaf.svc.cluster.local), nunca con las IP de los pods, que cambian en cada reinicio. - Para un solo miembro, establece
replicas: 1y conserva solomongo-0en el Job.
2
Redis
20-redis.yaml
Preguntas y respuestas
MongoDB 8 falla al arrancar con un kernel reciente. ¿Por qué?
MongoDB 8 falla al arrancar con un kernel reciente. ¿Por qué?
Respuesta: MongoDB 8 falla con el kernel de Linux 6.19 y posteriores (SERVER-121912). Descomenta la variable de entorno
GLIBC_TUNABLES en 10-mongo.yaml.¿Cuánta memoria necesita MongoDB?
¿Cuánta memoria necesita MongoDB?
Respuesta: Por defecto, MongoDB usa para su caché la mitad de la memoria del nodo menos 1 GB, y ve la memoria del nodo, no el límite del pod. Ajusta
--wiredTigerCacheSizeGB a tus nodos; 0.25 mantuvo cada miembro en unos 200 a 260 MiB en nuestros nodos de prueba de 4 GB.
