Scopo del volume condiviso Discourse in un ambiente ad alta disponibilità

Ciao! Mi chiedo qual è lo scopo del volume condiviso in una distribuzione di Discourse?

Per contesto, abbiamo Discourse attivo e funzionante in un cluster Kubernetes (in GKE), ma vorremmo aumentare il numero di istanze della nostra distribuzione per renderlo più altamente disponibile. Ovviamente, tutte le istanze continuerebbero a comunicare con lo stesso database Postgres e l’istanza Redis, ma mi chiedo se tutti i server web debbano accedere allo stesso volume condiviso o se i server web possano essere scalati in modo indipendente (cioè, ogni istanza del server web può avere il proprio volume “condiviso”).

Oppure esiste un requisito rigido secondo cui tutti i server web devono utilizzare lo stesso volume condiviso, nel qual caso dovremmo valutare il montaggio di qualcosa come un volume NFS in ciascuno dei nostri container?

Grazie!

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 Mi Piace

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 Mi Piace