الإعداد
1
حاويات التخزين والمفاتيح
أنشئ حاويات التخزين الثلاث
overleaf-template-files وoverleaf-project-blobs وoverleaf-chunks والمستخدمَين المقيّدَين لدى خدمة S3 الخاصة بك كما هو موضّح في إعداد S3، أو شغّل Garage داخل العنقود كما هو موضّح أدناه. ضع المفاتيح الأربعة في Secret:2
ConfigMap
30-config.yaml (additions)
3
أضف الـ Secret إلى الـ pod وأعد التشغيل
في الـ Deployment (أو الـ StatefulSet)، أضف الـ Secret بجانب الأخرى:
Garage داخل العنقود
في حال عدم توفّر خدمة S3، فإن Garage خادم S3 صغير يعمل داخل العنقود (cluster). وقد اختُبر إعداد التوسّع الأفقي باستخدامه. تُولّد الأوامر أدناه المفاتيح وتُنشئ الـ Secret المسمّىoverleaf-s3 بنفسها، لذا استخدمها بدلًا من أمر الـ Secret في الخطوة 1.
لم يعد MinIO، المستخدم في النموذج الذي يقدّمه Overleaf، ينشر صور حاويات: فقد أُزيلت
minio/minio من Docker Hub ومن quay.io.50-garage.yaml
GK متبوعة بـ 24 حرفًا ست عشريًا، والأسرار من 64 حرفًا ست عشريًا:
garage، ويجب أن تكون قيمة OVERLEAF_*_S3_REGION هي نفسها.
مع Garage، اضبط نقطة النهاية، وPATH_STYLE: "true"، والمنطقة garage لكلتا الخدمتين في الـ ConfigMap، كما في 60-config.yaml من التوسّع الأفقي.
عدة نسخ متماثلة
يجب أن تستخدم كل النسخ المتماثلة (replicas) حاويات التخزين والمفاتيح نفسها. انسخ حاويات التخزين احتياطيًا باستخدام أدوات مزوّد S3 لديك؛ وعندئذٍ لا تحتوي الأقراص الخاصة بالنسخ المتماثلة على أي بيانات تحتاج إلى نسخ احتياطي.الاختبار على Kubernetes
على Kubernetes 1.37 مع ثلاث نسخ متماثلة وGarage كما هو موضّح أعلاه، نجح كل اختبار شامل (end-to-end) في هذه الصفحات يُنشئ مشاريع أو يرفع ملفات أو يستخدم السجلّ أو ينشر قوالب، وبعد ذلك احتوت حاويات التخزينoverleaf-project-blobs وoverleaf-chunks وoverleaf-template-files على الكائنات، بينما بقي المجلد /var/lib/overleaf/data/history الخاص بالنسخ المتماثلة فارغًا.
