Configuración
1
Buckets y claves
Crea los tres buckets
overleaf-template-files, overleaf-project-blobs y overleaf-chunks y los dos usuarios restringidos con tu servicio S3 como se describe en Configuración de S3, o ejecuta Garage en el clúster como se muestra más abajo. Guarda las cuatro claves en un Secret:2
ConfigMap
30-config.yaml (additions)
3
Añadir el Secret al pod y reiniciar
En el Deployment (o StatefulSet), añade el Secret junto a los demás:
Garage en el clúster
Si no tienes un servicio S3, Garage es un pequeño servidor S3 que se ejecuta en el clúster. La configuración de Escalado horizontal se probó con él. Los comandos siguientes generan las claves y crean ellos mismos el Secretoverleaf-s3, así que úsalos en lugar del comando del Secret del paso 1.
MinIO, que se usa en el ejemplo de Overleaf, ya no publica imágenes de contenedor:
minio/minio ha desaparecido de Docker Hub y de quay.io.50-garage.yaml
GK seguido de 24 caracteres hexadecimales, y los secretos tienen 64 caracteres hexadecimales:
garage, y OVERLEAF_*_S3_REGION debe ser la misma.
Con Garage, establece en el ConfigMap el endpoint, PATH_STYLE: "true" y la región garage para ambos servicios, como en el 60-config.yaml de Escalado horizontal.
Varias réplicas
Todas las réplicas deben usar los mismos buckets y claves. Haz copias de seguridad de los buckets con las herramientas de tu proveedor de S3; así, los discos propios de las réplicas no contienen datos que necesiten copia de seguridad.Probado en Kubernetes
En Kubernetes 1.37 con tres réplicas y Garage como se indica arriba, se superaron todas las pruebas de extremo a extremo de estas páginas que crean proyectos, suben archivos, usan el historial o publican plantillas, y después los bucketsoverleaf-project-blobs, overleaf-chunks y overleaf-template-files contenían los objetos, mientras que el /var/lib/overleaf/data/history propio de las réplicas permaneció vacío.
