- MongoDB 8 en replica set (il utilise des transactions). Trois membres répartis sur trois nœuds survivent à la perte d’un nœud ; un seul membre fonctionne également.
- Redis 7, un seul serveur avec persistance AOF. Redis contient les modifications qui ne sont pas encore écrites dans MongoDB, les sessions et les messages échangés entre les services Overleaf. Overleaf se connecte à un seul serveur Redis : Sentinel et Redis Cluster ne sont pas pris en charge.
Vous pouvez utiliser des services managés à la place, comme MongoDB Atlas ou le Redis de votre cloud. Ignorez cette page et faites pointer
OVERLEAF_MONGO_URL et OVERLEAF_REDIS_HOST vers eux à l’étape 4.1
MongoDB
10-mongo.yaml
PRIMARY et les autres SECONDARY. Le Job réessaie jusqu’à ce que tous les membres répondent ; quelques pods de Job en échec sont donc normaux.- Le Service headless a besoin de
publishNotReadyAddresses: true: les membres doivent se trouver mutuellement par leur nom avant que le replica set n’existe. - Les membres sont ajoutés avec leurs noms stables (
mongo-0.mongo.overleaf.svc.cluster.local), jamais avec les IP des pods, qui changent à chaque redémarrage. - Pour un seul membre, définissez
replicas: 1et ne conservez quemongo-0dans le Job.
2
Redis
20-redis.yaml
Q&A
MongoDB 8 plante au démarrage sur un noyau récent. Pourquoi ?
MongoDB 8 plante au démarrage sur un noyau récent. Pourquoi ?
Réponse : MongoDB 8 échoue sur les noyaux Linux 6.19 et ultérieurs (SERVER-121912). Décommentez la variable d’environnement
GLIBC_TUNABLES dans 10-mongo.yaml.De combien de mémoire MongoDB a-t-il besoin ?
De combien de mémoire MongoDB a-t-il besoin ?
Réponse : Par défaut, MongoDB utilise pour son cache la moitié de la mémoire du nœud moins 1 Go, et il voit la mémoire du nœud, pas la limite du pod. Ajustez
--wiredTigerCacheSizeGB à vos nœuds ; 0.25 a maintenu chaque membre à environ 200 à 260 Mio sur nos nœuds de test de 4 Go.
