Configuration
1
Buckets et clés
Créez les trois buckets
overleaf-template-files, overleaf-project-blobs et overleaf-chunks ainsi que les deux utilisateurs restreints avec votre service S3, comme décrit dans Configuration de S3, ou exécutez Garage dans le cluster comme indiqué ci-dessous. Placez les quatre clés dans un Secret :2
ConfigMap
30-config.yaml (additions)
3
Ajouter le Secret au pod et redémarrer
Dans le Deployment (ou le StatefulSet), ajoutez le Secret à côté des autres :
Garage dans le cluster
En l’absence de service S3, Garage est un petit serveur S3 qui s’exécute dans le cluster. La configuration de Mise à l’échelle horizontale a été testée avec lui. Les commandes ci-dessous génèrent elles-mêmes les clés et créent le Secretoverleaf-s3 ; utilisez-les donc à la place de la commande de création du Secret de l’étape 1.
MinIO, utilisé dans l’exemple d’Overleaf, ne publie plus d’images de conteneur :
minio/minio a disparu de Docker Hub et de quay.io.50-garage.yaml
GK suivi de 24 caractères hexadécimaux, les secrets de 64 caractères hexadécimaux :
garage, et OVERLEAF_*_S3_REGION doit avoir la même valeur.
Avec Garage, définissez dans le ConfigMap le point de terminaison, PATH_STYLE: "true" et la région garage pour les deux services, comme dans le fichier 60-config.yaml de Mise à l’échelle horizontale.
Plusieurs répliques
Toutes les répliques doivent utiliser les mêmes buckets et les mêmes clés. Sauvegardez les buckets avec les outils de votre fournisseur S3 ; les disques propres aux répliques ne contiennent alors aucune donnée à sauvegarder.Testé sur Kubernetes
Sur Kubernetes 1.37 avec trois répliques et Garage comme ci-dessus, tous les tests de bout en bout de ces pages qui créent des projets, téléversent des fichiers, utilisent l’historique ou publient des modèles ont réussi ; ensuite, les bucketsoverleaf-project-blobs, overleaf-chunks et overleaf-template-files contenaient les objets, tandis que le répertoire /var/lib/overleaf/data/history propre à chaque réplique restait vide.
