Skip to main content
Een upgrade vervangt de image-tag. De nieuwe versie migreert de database bij het opstarten, en deze migraties moeten één keer, vanuit één pod, worden uitgevoerd terwijl er geen oudere pod draait. Op Kubernetes sluit dit een gewone rolling update van een geschaalde StatefulSet uit.
Maak vóór elke upgrade een consistente back-up, met Ayakaleaf Pro gestopt. Lees de release notes voor stappen van de versie waarnaar je upgradet.
Pull voordat je begint op elke node die Ayakaleaf Pro draait met sudo docker pull elke TeX Live-image die de nieuwe versie of je nieuwe configuratie vermeldt.
1

Stop Ayakaleaf Pro

2

Maak een back-up

MongoDB, vanaf een willekeurig lid:
Het datavolume, via een kortlevende pod die het koppelt (deze komt op de node van het volume terecht):
Doe hetzelfde voor het volume van git-bridge (data-git-bridge-0), en bewaar een kopie van de Secret overleaf-secrets. Als je opslag VolumeSnapshots ondersteunt, doet een snapshot van de volumes hetzelfde.
3

Wijzig de versie en start

Stel de nieuwe tag in 40-overleaf.yaml in (en in 45-git-bridge.yaml, dat dezelfde tag moet gebruiken), en daarna:
De Deployment gebruikt strategy: Recreate, dus zelfs met een gewijzigde tag draaien er nooit twee versies tegelijk.

MongoDB en Redis

Upgrade deze los van Ayakaleaf Pro. Volg voor MongoDB MongoDB bijwerken (één hoofdversie tegelijk, featureCompatibilityVersion na elke stap); een replicaset neemt de nieuwe image lid voor lid over wanneer je de image in 10-mongo.yaml wijzigt, omdat de StatefulSet mongo-2, mongo-1 en mongo-0 om de beurt vervangt.

Terugdraaien

Stop Ayakaleaf Pro zoals hierboven, herstel MongoDB uit het archief (mongorestore --drop --archive --gzip) en de volumes of buckets uit de back-up, stel de oude tag in en start opnieuw. De migraties van de nieuwe versie kunnen op geen andere manier ongedaan worden gemaakt.

Q&A

Antwoord: Met podManagementPolicy: OrderedReady start overleaf-1 pas zodra overleaf-0 gereed is, en een rolling update vervangt geen pod die nooit gereed is geworden. Nadat je de oorzaak hebt verholpen, bijvoorbeeld een onjuiste instelling in de ConfigMap, verwijder je de vastgelopen pod zodat de StatefulSet deze opnieuw aanmaakt vanuit de huidige template:
We liepen hier op ons testcluster tegenaan nadat een instelling verhinderde dat overleaf-0 gereed werd; door de pod te verwijderen konden alle drie de replica’s starten.
Laatst gewijzigd op 2 november 2026