Hãy tạo một bản sao lưu nhất quán trước mỗi lần nâng cấp, khi Ayakaleaf Pro đã dừng. Hãy đọc ghi chú phát hành để biết các bước của phiên bản mà bạn nâng cấp lên.
sudo docker pull.
- Một replica
- Nhiều replica
1
Dừng Ayakaleaf Pro
2
Sao lưu
MongoDB, từ bất kỳ thành viên nào:Volume dữ liệu, thông qua một pod tồn tại ngắn có mount volume đó (pod này sẽ chạy trên node của volume):Làm tương tự với volume của git-bridge (
data-git-bridge-0), và giữ một bản sao của Secret overleaf-secrets. Nếu bộ lưu trữ của bạn hỗ trợ VolumeSnapshots, một snapshot của các volume cũng có tác dụng tương tự.3
Thay đổi phiên bản và khởi động
Đặt tag mới trong Deployment dùng
40-overleaf.yaml (và trong 45-git-bridge.yaml, vốn phải dùng cùng tag), sau đó:strategy: Recreate, nên ngay cả khi tag thay đổi cũng không bao giờ có hai phiên bản chạy cùng lúc.MongoDB và Redis
Hãy nâng cấp chúng riêng biệt với Ayakaleaf Pro. Với MongoDB, hãy làm theo Cập nhật MongoDB (mỗi lần một phiên bản chính, đặtfeatureCompatibilityVersion sau mỗi bước); một replica set sẽ nhận image mới lần lượt từng thành viên khi bạn thay đổi image trong 10-mongo.yaml, vì StatefulSet lần lượt thay thế mongo-2, mongo-1 và mongo-0.
Khôi phục phiên bản cũ
Dừng Ayakaleaf Pro như trên, khôi phục MongoDB từ tệp lưu trữ (mongorestore --drop --archive --gzip) và các volume hoặc bucket từ bản sao lưu, đặt lại tag cũ và khởi động lại. Nếu không làm vậy, các migration của phiên bản mới không thể hoàn tác.
Q&A
Một replica vẫn ở trạng thái chưa sẵn sàng, và các replica khác không bao giờ khởi động
Một replica vẫn ở trạng thái chưa sẵn sàng, và các replica khác không bao giờ khởi động
Trả lời: Với Chúng tôi đã gặp trường hợp này trên cluster thử nghiệm sau khi một cài đặt khiến
podManagementPolicy: OrderedReady, overleaf-1 chỉ khởi động khi overleaf-0 đã sẵn sàng, và rolling update không thay thế một pod chưa bao giờ sẵn sàng. Sau khi bạn đã khắc phục nguyên nhân, ví dụ một cài đặt sai trong ConfigMap, hãy xóa pod bị kẹt để StatefulSet tạo lại nó từ template hiện tại:overleaf-0 không thể sẵn sàng; việc xóa pod đã giúp cả ba replica khởi động.
