/learn отдаёт сервис web (модуль learn) в каждом поде Ayakaleaf Pro из кэша wiki, заданной в WIKI_URL. Что делает модуль и какие wiki с ним работают, описано в разделе Добавление справки по LaTeX для пользователей.
Настройка
30-config.yaml (additions)
WIKI_URL: без него сервис web завершается с ошибкой при запуске и снова и снова перезапускается внутри пода, так что под никогда не становится готовым. Отключите модуль или разрешите подам выход к wiki. Когда кэш уже создан, поды запускаются и отдают страницы из кэша, даже если wiki недоступна.
Несколько реплик
Каждая реплика хранит собственный кэш на диске своего узла, поэтому каждая загружает wiki при первом запуске; приpodManagementPolicy: OrderedReady они делают это по очереди. Пользователь может увидеть страницу в немного другой версии на другой реплике, пока она не обновится там.
Проверено на Kubernetes
На Kubernetes 1.37 с тремя репликами за HAProxy, каждая из которых при первом запуске загружалаhttps://learnwiki.overleaf.com в кэш своего узла, наши сквозные тесты для /learn проходят (12 сценариев): ссылка Documentation в шапке, приветственное сообщение и меню Help в редакторе, боковая панель содержания, страницы, ссылки и перенаправления внутри wiki, изображения, загружаемые из wiki, ответ 404 для неизвестных страниц, обязательный вход без публичного доступа, а также устаревшая страница, отдаваемая из кэша после того, как WIKI_URL был изменён на недоступный адрес. При запуске с пустым кэшем и WIKI_URL, указывающим на адрес, отклоняющий соединения, под оставался неготовым без перезапусков, тогда как сервис web внутри него запускался и завершался с ошибкой 77 раз за три минуты.
