Перед каждым обновлением создавайте согласованную резервную копию при остановленном Ayakaleaf Pro. Прочитайте примечания к выпуску, чтобы узнать о шагах для версии, до которой вы обновляетесь.
sudo docker pull все образы TeX Live, которые указаны в новой версии или в вашей новой конфигурации.
- Одна реплика
- Несколько реплик
1
Остановите Ayakaleaf Pro
2
Создайте резервную копию
MongoDB — с любого участника:Том данных — через кратковременный под, который его монтирует (он запускается на узле тома):Сделайте то же самое для тома 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), а тома или бакеты — из резервной копии, укажите старый тег и снова запустите. Иначе миграции новой версии отменить нельзя.
Вопросы и ответы
Реплика остаётся неготовой, а остальные реплики так и не запускаются
Реплика остаётся неготовой, а остальные реплики так и не запускаются
Ответ: При Мы столкнулись с этим на нашем тестовом кластере после того, как одна настройка не давала
podManagementPolicy: OrderedReady под overleaf-1 запускается только после того, как overleaf-0 станет готов, а последовательное обновление не заменяет под, который так и не стал готовым. После устранения причины, например неверной настройки в ConfigMap, удалите зависший под, чтобы StatefulSet создал его заново из текущего шаблона:overleaf-0 стать готовым; удаление пода позволило запустить все три реплики.
