sudo docker pull 拉取新版本或新設定中列出的任何 TeX Live 映像檔。
- 單一副本
- 多個副本
1
停止 Ayakaleaf Pro
2
備份
MongoDB,可從任一成員執行:資料磁碟區,透過一個掛載該磁碟區的短期 Pod(它會被排程到磁碟區所在的節點):對 git-bridge 的磁碟區(
data-git-bridge-0)也執行相同操作,並保留一份 Secret overleaf-secrets 的副本。如果您的儲存空間支援 VolumeSnapshots,對磁碟區建立快照也能達到相同效果。3
變更版本並啟動
在 此 Deployment 使用
40-overleaf.yaml(以及必須使用相同標籤的 45-git-bridge.yaml)中設定新標籤,然後:strategy: Recreate,因此即使變更了標籤,也絕不會同時執行兩個版本。MongoDB 與 Redis
請與 Ayakaleaf Pro 分開升級。MongoDB 請依照更新 MongoDB 進行(一次升級一個主要版本,每個步驟後設定featureCompatibilityVersion);當您在 10-mongo.yaml 中變更映像檔時,複本集會一次一個成員地套用新映像檔,因為 StatefulSet 會依序取代 mongo-2、mongo-1 與 mongo-0。
回復
依上述方式停止 Ayakaleaf Pro,從封存檔還原 MongoDB(mongorestore --drop --archive --gzip),並從備份還原磁碟區或儲存貯體,設定舊標籤後再次啟動。除此之外,新版本的遷移無法復原。
Q&A
某個副本一直未就緒,其他副本也始終無法啟動
某個副本一直未就緒,其他副本也始終無法啟動
回答:在 我們在測試叢集上曾因某項設定使
podManagementPolicy: OrderedReady 下,overleaf-1 只有在 overleaf-0 就緒後才會啟動,而滾動更新不會取代從未就緒的 Pod。修正原因後(例如 ConfigMap 中的錯誤設定),請刪除卡住的 Pod,讓 StatefulSet 依目前的範本重新建立它:overleaf-0 無法就緒而遇到這個問題;刪除該 Pod 後,三個副本便全部順利啟動。
