配置
1
存储桶和密钥
按照 S3 设置 中的说明,在你的 S3 服务上创建三个存储桶
overleaf-template-files、overleaf-project-blobs 和 overleaf-chunks 以及两个受限用户,或者按下文所示在集群中运行 Garage。将四个密钥放入一个 Secret:2
ConfigMap
30-config.yaml (additions)
3
将 Secret 添加到 pod 并重启
在 Deployment(或 StatefulSet)中,将该 Secret 添加到其他 Secret 旁边:
集群中的 Garage
如果没有 S3 服务,Garage 是一个可在集群中运行的小型 S3 服务器。水平扩展 的配置就是使用它进行测试的。下面的命令会自行生成密钥并创建 Secretoverleaf-s3,因此请使用它们代替第 1 步中的 Secret 命令。
Overleaf 示例中使用的 MinIO 已不再发布容器镜像:
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 保持为空。
