設定
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 加在其他項目旁邊:
叢集中的 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 則保持空白。
