Effectuez une sauvegarde cohérente avant chaque mise à niveau, avec Ayakaleaf Pro arrêté. Consultez les notes de version pour connaître les étapes propres à la version vers laquelle vous effectuez la mise à niveau.
sudo docker pull toute image TeX Live listée par la nouvelle version ou par votre nouvelle configuration.
- Une réplique
- Plusieurs répliques
1
Arrêter Ayakaleaf Pro
2
Sauvegarder
MongoDB, depuis n’importe quel membre :Le volume de données, via un pod éphémère qui le monte (il est planifié sur le nœud du volume) :Faites de même pour le volume de git-bridge (
data-git-bridge-0), et conservez une copie du Secret overleaf-secrets. Si votre stockage prend en charge les VolumeSnapshots, un instantané des volumes produit le même résultat.3
Changer la version et démarrer
Définissez le nouveau tag dans Le Deployment utilise
40-overleaf.yaml (et dans 45-git-bridge.yaml, qui doit utiliser le même tag), puis :strategy: Recreate ; même avec un tag modifié, deux versions ne s’exécutent donc jamais en même temps.MongoDB et Redis
Mettez-les à niveau séparément d’Ayakaleaf Pro. Pour MongoDB, suivez Mettre à jour MongoDB (une version majeure à la fois,featureCompatibilityVersion après chaque étape) ; un replica set adopte la nouvelle image un membre à la fois lorsque vous modifiez l’image dans 10-mongo.yaml, car le StatefulSet remplace successivement mongo-2, mongo-1 et mongo-0.
Revenir en arrière
Arrêtez Ayakaleaf Pro comme ci-dessus, restaurez MongoDB à partir de l’archive (mongorestore --drop --archive --gzip) et les volumes ou buckets à partir de la sauvegarde, définissez l’ancien tag et redémarrez. Il n’existe pas d’autre moyen d’annuler les migrations de la nouvelle version.
Q&A
Une réplique reste non prête, et les autres répliques ne démarrent jamais
Une réplique reste non prête, et les autres répliques ne démarrent jamais
Réponse : Avec Nous avons rencontré ce cas sur notre cluster de test après qu’un paramètre a empêché
podManagementPolicy: OrderedReady, overleaf-1 ne démarre qu’une fois overleaf-0 prêt, et une mise à jour progressive ne remplace pas un pod qui n’est jamais devenu prêt. Après avoir corrigé la cause, par exemple un paramètre erroné dans le ConfigMap, supprimez le pod bloqué afin que le StatefulSet le recrée à partir du modèle actuel :overleaf-0 de devenir prêt ; la suppression du pod a permis aux trois répliques de démarrer.
