Налаштування
1
Бакети та ключі
Створіть три бакети
overleaf-template-files, overleaf-project-blobs і overleaf-chunks та двох користувачів з обмеженими правами у вашому сервісі S3, як описано в розділі Налаштування S3, або запустіть Garage у кластері, як показано нижче. Помістіть чотири ключі в Secret:2
ConfigMap
30-config.yaml (additions)
3
Додайте Secret до пода й перезапустіть
У Deployment (або StatefulSet) додайте Secret поруч з іншими:
Garage у кластері
Якщо сервісу S3 немає, Garage — це невеликий сервер S3, що працює в кластері. Конфігурацію з розділу Горизонтальне масштабування перевірено саме з ним. Наведені нижче команди самі генерують ключі та створюють Secretoverleaf-s3, тож використовуйте їх замість команди створення Secret із кроку 1.
MinIO, який використовується в прикладі Overleaf, більше не публікує образи контейнерів:
minio/minio зник із Docker Hub і quay.io.50-garage.yaml
GK плюс 24 шістнадцяткові символи, секрети — 64 шістнадцяткові символи:
garage, і OVERLEAF_*_S3_REGION має бути таким самим.
З Garage задайте в ConfigMap кінцеву точку, PATH_STYLE: "true" і регіон garage для обох служб, як у 60-config.yaml з розділу Горизонтальне масштабування.
Кілька реплік
Усі репліки мають використовувати ті самі бакети та ключі. Створюйте резервні копії бакетів інструментами вашого постачальника S3; тоді власні диски реплік не містять даних, які потребують резервного копіювання.Перевірено на Kubernetes
На Kubernetes 1.37 з трьома репліками та Garage, як описано вище, усі наскрізні тести на цих сторінках, які створюють проєкти, завантажують файли, використовують історію чи публікують шаблони, пройшли, і після цього бакетиoverleaf-project-blobs, overleaf-chunks і overleaf-template-files містили об’єкти, тоді як власні /var/lib/overleaf/data/history реплік залишалися порожніми.
