Esegui un backup coerente prima di ogni aggiornamento, con Ayakaleaf Pro arrestato. Leggi le note di rilascio per i passaggi specifici della versione a cui stai aggiornando.
sudo docker pull ogni immagine TeX Live elencata dalla nuova versione o dalla tua nuova configurazione.
- Una replica
- Più repliche
1
Arresta Ayakaleaf Pro
2
Esegui il backup
MongoDB, da un membro qualsiasi:Il volume dei dati, tramite un pod di breve durata che lo monta (viene pianificato sul nodo del volume):Fai lo stesso per il volume di git-bridge (
data-git-bridge-0) e conserva una copia del Secret overleaf-secrets. Se il tuo storage supporta i VolumeSnapshot, uno snapshot dei volumi ottiene lo stesso risultato.3
Cambia la versione e avvia
Imposta il nuovo tag in Il Deployment usa
40-overleaf.yaml (e in 45-git-bridge.yaml, che deve usare lo stesso tag), poi:strategy: Recreate, quindi anche con un tag modificato non vengono mai eseguite due versioni contemporaneamente.MongoDB e Redis
Aggiornali separatamente da Ayakaleaf Pro. Per MongoDB, segui Aggiornare MongoDB (una versione principale alla volta,featureCompatibilityVersion dopo ogni passaggio); un replica set adotta la nuova immagine un membro alla volta quando cambi l’immagine in 10-mongo.yaml, perché lo StatefulSet sostituisce a turno mongo-2, mongo-1 e mongo-0.
Tornare alla versione precedente
Arresta Ayakaleaf Pro come sopra, ripristina MongoDB dall’archivio (mongorestore --drop --archive --gzip) e i volumi o i bucket dal backup, imposta il vecchio tag e riavvia. Altrimenti, le migrazioni della nuova versione non possono essere annullate.
Q&A
Una replica resta non pronta e le altre repliche non si avviano mai
Una replica resta non pronta e le altre repliche non si avviano mai
Risposta: Con Ci è capitato sul nostro cluster di test dopo che un’impostazione aveva impedito a
podManagementPolicy: OrderedReady, overleaf-1 si avvia solo quando overleaf-0 è pronto, e un rolling update non sostituisce un pod che non è mai diventato pronto. Dopo aver risolto la causa, ad esempio un’impostazione errata nella ConfigMap, elimina il pod bloccato in modo che lo StatefulSet lo ricrei dal template corrente:overleaf-0 di diventare pronto; eliminare il pod ha permesso a tutte e tre le repliche di avviarsi.
