redis из раздела 3. Развёртывание MongoDB и Redis; о Toolkit см. Redis.
Аутентификация по паролю
1
Сохраните пароль
2
Запустите Redis с паролем
В Kubernetes подставляет вместо
20-redis.yaml передайте пароль контейнеру и затем redis-server:20-redis.yaml (changes)
$(REDIS_PASS) значение из Secret. Проверку готовности (tcpSocket) менять не нужно.3
Применение и перезапуск
Сначала остановите Ayakaleaf Pro, чтобы между двумя перезапусками не потерялись правки:
OVERLEAF_REDIS_HOST (и REDIS_HOST), пароль — как показано выше, и OVERLEAF_REDIS_TLS: "true", если он требует TLS.
AOF-персистентность
Установка уже запускает Redis с--appendonly yes — аналогом REDIS_AOF_PERSISTENCE=true в Toolkit — и хранит его данные на томе data-redis-0. Чтобы перевести существующий Redis без AOF, выполните шаги со страницы Toolkit, используя kubectl -n overleaf exec -it redis-0 -- redis-cli вместо docker exec, а затем добавьте --appendonly yes в args.
Несколько реплик
Все реплики должны использовать один и тот же Redis: в нём хранятся сеансы, правки, ещё не попавшие в MongoDB, и блокировки, которые не позволяют двум репликам одновременно обрабатывать один и тот же проект.Проверено на Kubernetes
В Kubernetes 1.37 с одной репликой Redis, запущенный с--requirepass $(REDIS_PASS) из Secret redis-auth, как показано выше, отклонял redis-cli без пароля (NOAUTH), а с OVERLEAF_REDIS_PASS и REDIS_PASSWORD в overleaf-secrets наши сквозные тесты прошли для launchpad (13 сценариев) и для редактирования с отслеживанием изменений, комментариями и анонимным совместным доступом (22 сценария), которые проходят через web, real-time, document-updater и project-history; ни один сервис не записал в журнал ошибку аутентификации Redis. Все остальные тесты Kubernetes на этих страницах выполнялись с StatefulSet Redis из установки, с AOF-персистентностью и без пароля.
