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.
sudo docker pull elke TeX Live-image die de nieuwe versie of je nieuwe configuratie vermeldt.
- Eén replica
- Meerdere replica's
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 De Deployment gebruikt
40-overleaf.yaml in (en in 45-git-bridge.yaml, dat dezelfde tag moet gebruiken), en daarna: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
Een replica blijft niet gereed, en de andere replica's starten nooit
Een replica blijft niet gereed, en de andere replica's starten nooit
Antwoord: Met We liepen hier op ons testcluster tegenaan nadat een instelling verhinderde dat
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:overleaf-0 gereed werd; door de pod te verwijderen konden alle drie de replica’s starten.
