Manejo de múltiples volúmenes persistentes para un enjambre Rethinkdb Docker

Actualmente estoy usando RethinkDB en serveres en la nube al unirme manualmente a cada server en la configuration. Estoy interesado en pasar a un enfoque de Swarm para facilitar el escalamiento y la conmutación por error. El enfoque actual es engorroso a escala.

En el enfoque manual actual, simplemente creo una carpeta local en cada server para RDB y lo RDB como un volumen para almacenar sus datos. Sin embargo, usar un Swarm significa que necesitaría manejar volúmenes más dinámicamente. Cada contenedor necesitará un volumen distinto para mantener los datos separados en caso de errores.

¿Alguna recomendación sobre cómo manejar este escenario? Muchos de los tutoriales que he visto hasta ahora mencionan a Flocker para administrar el almacenamiento persistente, pero no veo que se maneje de forma dinámica.

Actualmente estoy luchando con una situación como esta. Creé una solución temporal con GlusterFS.

Lo que hace es instalar GlusterFS en todos los nodos Docker y montar las carpetas. De esta forma, los datos existen en todos los nodos. Pero esto es less que ideal si tienes muchas escrituras. Esto podría ser lento debido a la forma en que Gluster trata su replicación de datos para evitar la pérdida de datos. Es sólido, pero tengo algunos problemas con la velocidad.

En tu caso, te sugiero que investigues a Flocker. Flocker es un complemento de volumen que migra sus datos cuando un contenedor se mueve a otro host. No he tenido ninguna experiencia con él, pero en mi caso el concepto de Flocker es inútil, necesito mis datos en múltiples contenedores en varios hosts (solo lectura) Aquí es donde Gluster entró en juego