Haz una copia de seguridad coherente antes de cada actualización, con Ayakaleaf Pro detenido. Lee las notas de la versión para conocer los pasos de la versión a la que actualizas.
sudo docker pull cualquier imagen de TeX Live que indique la nueva versión o tu nueva configuración.
- Una réplica
- Varias réplicas
1
Detener Ayakaleaf Pro
2
Hacer una copia de seguridad
MongoDB, desde cualquier miembro:El volumen de datos, mediante un pod de corta duración que lo monta (se ubica en el nodo del volumen):Haz lo mismo con el volumen de git-bridge (
data-git-bridge-0) y guarda una copia del Secret overleaf-secrets. Si tu almacenamiento admite VolumeSnapshots, una instantánea de los volúmenes cumple la misma función.3
Cambiar la versión e iniciar
Establece la nueva etiqueta en El Deployment usa
40-overleaf.yaml (y en 45-git-bridge.yaml, que debe usar la misma etiqueta) y, después:strategy: Recreate, por lo que incluso con una etiqueta cambiada nunca se ejecutan dos versiones a la vez.MongoDB y Redis
Actualízalos por separado de Ayakaleaf Pro. Para MongoDB, sigue Actualizar MongoDB (una versión principal cada vez,featureCompatibilityVersion después de cada paso); un replica set adopta la nueva imagen de miembro en miembro cuando cambias la imagen en 10-mongo.yaml, porque el StatefulSet reemplaza mongo-2, mongo-1 y mongo-0 sucesivamente.
Revertir
Detén Ayakaleaf Pro como se indica arriba, restaura MongoDB desde el archivo (mongorestore --drop --archive --gzip) y los volúmenes o buckets desde la copia de seguridad, establece la etiqueta antigua e inicia de nuevo. Las migraciones de la nueva versión no se pueden deshacer de otro modo.
Preguntas y respuestas
Una réplica no llega a estar lista y las demás réplicas nunca se inician
Una réplica no llega a estar lista y las demás réplicas nunca se inician
Respuesta: Con Nos ocurrió en nuestro clúster de prueba después de que un ajuste impidiera que
podManagementPolicy: OrderedReady, overleaf-1 solo se inicia cuando overleaf-0 está listo, y una actualización progresiva no reemplaza un pod que nunca llegó a estar listo. Después de corregir la causa, por ejemplo un ajuste incorrecto en el ConfigMap, elimina el pod bloqueado para que el StatefulSet lo vuelva a crear a partir de la plantilla actual:overleaf-0 llegara a estar listo; eliminar el pod permitió que se iniciaran las tres réplicas.
