Skip to main content
프로젝트 파일과 그 기록은 history-v1 서비스가, 템플릿 파일은 filestore 서비스가 저장하며, 둘 다 모든 Ayakaleaf Pro 파드 안에 있습니다. 기본적으로 데이터 볼륨에 기록하며, S3를 사용하면 버킷에 기록합니다. 필요한 버킷과 권한은 S3에 설명되어 있습니다.
사용자가 프로젝트를 만들기 전에 S3를 선택하세요. 이미 볼륨에 파일을 보관하고 있는 인스턴스는 먼저 S3 마이그레이션이 필요합니다.

구성

1

버킷 및 키

S3 설정에 설명된 대로 S3 서비스에서 세 개의 버킷 overleaf-template-files, overleaf-project-blobs, overleaf-chunks와 두 개의 제한된 사용자를 만들거나, 아래와 같이 클러스터에서 Garage를 실행하세요. 네 개의 키를 Secret에 넣으세요.
2

ConfigMap

30-config.yaml (additions)
3

파드에 Secret 추가 및 재시작

Deployment(또는 StatefulSet)에서 다른 Secret 옆에 이 Secret을 추가하세요.

클러스터 내 Garage

S3 서비스가 없다면 Garage는 클러스터에서 실행되는 작은 S3 서버입니다. 수평 확장 구성은 Garage로 테스트되었습니다. 아래 명령은 키를 생성하고 Secret overleaf-s3를 직접 만들므로, 1단계의 Secret 명령 대신 이 명령을 사용하세요.
Overleaf 샘플에서 사용하는 MinIO는 더 이상 컨테이너 이미지를 게시하지 않습니다. minio/minio는 Docker Hub와 quay.io에서 사라졌습니다.
50-garage.yaml
시크릿을 생성하고 Garage를 시작한 다음, 레이아웃, 버킷, 두 개의 제한된 키를 만드세요. Garage 키 ID는 GK와 16진수 24자로, 시크릿은 16진수 64자로 구성됩니다.
권한은 S3의 정책과 일치합니다. Garage는 리전을 확인합니다. 여기서는 garage이며, OVERLEAF_*_S3_REGION도 같아야 합니다. Garage를 사용하는 경우 수평 확장의 60-config.yaml과 같이 ConfigMap에서 두 서비스 모두에 엔드포인트, PATH_STYLE: "true", 리전 garage를 설정하세요.

여러 레플리카

모든 레플리카는 같은 버킷과 키를 사용해야 합니다. 버킷은 S3 제공업체의 도구로 백업하세요. 그러면 레플리카 자체 디스크에는 백업이 필요한 데이터가 남지 않습니다.

Kubernetes에서의 테스트

레플리카 세 개와 위와 같은 Garage를 둔 Kubernetes 1.37에서, 프로젝트를 만들거나 파일을 업로드하거나 기록을 사용하거나 템플릿을 게시하는 이 페이지들의 모든 엔드 투 엔드 테스트가 통과했습니다. 이후 버킷 overleaf-project-blobs, overleaf-chunks, overleaf-template-files에는 객체가 저장되었고, 레플리카 자체의 /var/lib/overleaf/data/history는 비어 있었습니다.
마지막 수정일 2026년 11월 2일