Skip to main content
En uppgradering byter avbildningstaggen. Den nya versionen migrerar databasen när den startar, och dessa migreringar måste köras en gång, från en pod, medan ingen äldre pod körs. På Kubernetes utesluter detta en vanlig rullande uppdatering av en skalad StatefulSet.
Gör en konsekvent säkerhetskopia före varje uppgradering, med Ayakaleaf Pro stoppat. Läs versionsinformationen för steg som gäller den version du uppgraderar till.
Innan du börjar hämtar du med sudo docker pull, på varje nod som kör Ayakaleaf Pro, alla TeX Live-avbildningar som den nya versionen eller din nya konfiguration listar.
1

Stoppa Ayakaleaf Pro

2

Säkerhetskopiera

MongoDB, från valfri medlem:
Datavolymen, via en kortlivad pod som monterar den (den hamnar på volymens nod):
Gör detsamma för git-bridges volym (data-git-bridge-0) och spara en kopia av Secret:en overleaf-secrets. Om din lagring stöder VolumeSnapshots åstadkommer en ögonblicksbild av volymerna samma sak.
3

Byt version och starta

Ange den nya taggen i 40-overleaf.yaml (och i 45-git-bridge.yaml, som måste använda samma tagg) och kör sedan:
Deployment:en använder strategy: Recreate, så även en ändrad tagg kör aldrig två versioner samtidigt.

MongoDB och Redis

Uppgradera dem separat från Ayakaleaf Pro. För MongoDB följer du Uppdatera MongoDB (en huvudversion i taget, featureCompatibilityVersion efter varje steg); en replikuppsättning tar emot den nya avbildningen en medlem i taget när du ändrar avbildningen i 10-mongo.yaml, eftersom StatefulSet:en ersätter mongo-2, mongo-1 och mongo-0 i tur och ordning.

Återställa

Stoppa Ayakaleaf Pro enligt ovan, återställ MongoDB från arkivet (mongorestore --drop --archive --gzip) och volymerna eller buckets från säkerhetskopian, ange den gamla taggen och starta igen. Den nya versionens migreringar kan inte ångras på annat sätt.

Frågor och svar

Svar: Med podManagementPolicy: OrderedReady startar overleaf-1 först när overleaf-0 är redo, och en rullande uppdatering ersätter inte en pod som aldrig blev redo. När du har åtgärdat orsaken, till exempel en felaktig inställning i ConfigMap:en, tar du bort den fastnade podden så att StatefulSet:en skapar den på nytt från den aktuella mallen:
Vi stötte på detta i vårt testkluster efter att en inställning hindrade overleaf-0 från att bli redo; när podden togs bort kunde alla tre repliker starta.
Senast ändrad 2 november 2026