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.
sudo docker pull, på varje nod som kör Ayakaleaf Pro, alla TeX Live-avbildningar som den nya versionen eller din nya konfiguration listar.
- En replik
- Flera repliker
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 Deployment:en använder
40-overleaf.yaml (och i 45-git-bridge.yaml, som måste använda samma tagg) och kör sedan: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
En replik förblir inte redo, och de andra replikerna startar aldrig
En replik förblir inte redo, och de andra replikerna startar aldrig
Svar: Med Vi stötte på detta i vårt testkluster efter att en inställning hindrade
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:overleaf-0 från att bli redo; när podden togs bort kunde alla tre repliker starta.
