redis từ 3. Triển khai MongoDB và Redis; xem Redis cho Toolkit.
Xác thực bằng mật khẩu
1
Lưu mật khẩu
2
Khởi động Redis với mật khẩu đó
Trong Kubernetes thay thế
20-redis.yaml, cung cấp mật khẩu cho container và truyền nó cho redis-server:20-redis.yaml (changes)
$(REDIS_PASS) bằng giá trị từ Secret. Readiness probe (tcpSocket) không cần thay đổi.3
Áp dụng và khởi động lại
Hãy dừng Ayakaleaf Pro trước, để không chỉnh sửa nào bị mất giữa hai lần khởi động lại:
OVERLEAF_REDIS_HOST (và REDIS_HOST) trong ConfigMap thành địa chỉ của nó, mật khẩu như trên, và OVERLEAF_REDIS_TLS: "true" nếu nó yêu cầu TLS.
Lưu trữ bền vững AOF
Quá trình cài đặt đã khởi động Redis với--appendonly yes, tương đương với REDIS_AOF_PERSISTENCE=true của Toolkit, và lưu dữ liệu của nó trên volume data-redis-0. Để chuyển một Redis hiện có chưa dùng AOF, hãy làm theo các bước trên trang Toolkit với kubectl -n overleaf exec -it redis-0 -- redis-cli thay cho docker exec, sau đó thêm --appendonly yes vào args.
Nhiều replica
Tất cả các replica phải dùng cùng một Redis: nó chứa các phiên, các chỉnh sửa chưa có trong MongoDB và các khóa giúp hai replica không xử lý cùng một dự án cùng lúc.Đã kiểm thử trên Kubernetes
Trên Kubernetes 1.37 với một replica, Redis được khởi động với--requirepass $(REDIS_PASS) từ Secret redis-auth như trên đã từ chối redis-cli khi không có mật khẩu (NOAUTH), và với OVERLEAF_REDIS_PASS và REDIS_PASSWORD trong overleaf-secrets, các bài kiểm thử end-to-end của chúng tôi đều đạt cho launchpad (13 trường hợp) và cho việc chỉnh sửa với theo dõi thay đổi, bình luận và chia sẻ ẩn danh (22 trường hợp), vốn đi qua web, real-time, document-updater và project-history; không dịch vụ nào ghi log lỗi xác thực Redis. Tất cả các bài kiểm thử Kubernetes khác trong các trang này đều chạy với StatefulSet Redis từ quá trình cài đặt, với lưu trữ bền vững AOF và không có mật khẩu.
