Objectif du volume partagé Discourse dans une configuration haute disponibilité

Bonjour ! Je me demande quel est le but du volume partagé dans un déploiement Discourse ?

Pour contextualiser, nous avons Discourse en fonctionnement dans un cluster Kubernetes (sur GKE), mais nous souhaitons augmenter le nombre d’instances de notre déploiement pour le rendre plus hautement disponible. Toutes les instances continueront évidemment à communiquer avec la même base de données Postgres et la même instance Redis, mais je me demande si tous les serveurs web doivent se connecter au même volume partagé, ou si les serveurs web peuvent être mis à l’échelle indépendamment (c’est-à-dire que chaque instance de serveur web peut-elle simplement avoir son propre volume « partagé »).

Ou bien existe-t-il une exigence stricte selon laquelle tous les serveurs web doivent utiliser le même volume partagé, auquel cas nous devrions envisager de monter quelque chose comme un volume NFS dans chacun de nos conteneurs.

Merci !

The shared volume is there as a value add you can get away without it. In a typical “uploads are on AWS”, PG / Redis somewhere central setup you will only use it for Rails/Unicorn/NGINX etc logs. You would then ship them somewhere central with some log aggregation service.

Perfect, thanks @sam!

Just wanted to check that there weren’t going to be issues with uploads going to one host, and then a request hits another host and isn’t available due to it running in a separate container with a separate mount.

Sounds like we’ll be ok here :+1:.

Note, It will be an issue unless you use our s3 uploads provider