Zweck des Discourse-Freigegebenen Volumes in einer Hochverfügbarkeitskonfiguration

Hallo! Ich frage mich, welchen Zweck das gemeinsame Volumen in einer Discourse-Bereitstellung hat?

Zum Kontext: Wir haben Discourse in einem Kubernetes-Cluster (in GKE) in Betrieb, möchten aber die Anzahl der Instanzen unserer Bereitstellung erhöhen, um die Hochverfügbarkeit zu verbessern. Alle Instanzen würden natürlich weiterhin mit derselben PostgreSQL-Datenbank und derselben Redis-Instanz kommunizieren, aber ich frage mich, ob alle Webservers mit dem gleichen gemeinsamen Volumen verbunden sein müssen oder ob die Webservers unabhängig skaliert werden können (d. h. kann jede Webserver-Instanz einfach ihr eigenes „gemeinsames" Volumen haben).

Oder gibt es eine zwingende Anforderung, dass alle Webservers dasselbe gemeinsame Volumen nutzen, in welchem Fall wir prüfen müssten, etwas wie ein NFS-Volumen in jeden unserer Container einzubinden.

Vielen Dank!

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.

5 „Gefällt mir“

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

4 „Gefällt mir“