Przed każdą aktualizacją wykonaj spójną kopię zapasową przy zatrzymanym Ayakaleaf Pro. Przeczytaj informacje o wydaniu, aby poznać kroki dla wersji, do której aktualizujesz.
sudo docker pull każdy obraz TeX Live, który wymienia nowa wersja lub Twoja nowa konfiguracja.
- Jedna replika
- Kilka replik
1
Zatrzymaj Ayakaleaf Pro
2
Utwórz kopię zapasową
MongoDB, z dowolnego członka:Wolumin danych, za pomocą krótkotrwałego poda, który go montuje (trafia on na węzeł woluminu):Zrób to samo dla woluminu git-bridge (
data-git-bridge-0) i zachowaj kopię Secret overleaf-secrets. Jeśli Twój magazyn obsługuje VolumeSnapshots, migawka woluminów daje ten sam efekt.3
Zmień wersję i uruchom
Ustaw nowy tag w Deployment używa
40-overleaf.yaml (oraz w 45-git-bridge.yaml, który musi używać tego samego tagu), a następnie:strategy: Recreate, więc nawet po zmianie tagu nigdy nie działają jednocześnie dwie wersje.MongoDB i Redis
Aktualizuj je niezależnie od Ayakaleaf Pro. W przypadku MongoDB postępuj zgodnie z Aktualizacją MongoDB (jedna wersja główna naraz,featureCompatibilityVersion po każdym kroku); zestaw replik przyjmuje nowy obraz po jednym członku naraz, gdy zmienisz obraz w 10-mongo.yaml, ponieważ StatefulSet zastępuje kolejno mongo-2, mongo-1 i mongo-0.
Wycofywanie zmian
Zatrzymaj Ayakaleaf Pro jak powyżej, przywróć MongoDB z archiwum (mongorestore --drop --archive --gzip) oraz woluminy lub buckety z kopii zapasowej, ustaw stary tag i uruchom ponownie. Migracji nowej wersji nie da się cofnąć w inny sposób.
Pytania i odpowiedzi
Replika pozostaje niegotowa, a pozostałe repliki nigdy się nie uruchamiają
Replika pozostaje niegotowa, a pozostałe repliki nigdy się nie uruchamiają
Odpowiedź: Przy Napotkaliśmy ten problem w naszym klastrze testowym, gdy jedno z ustawień uniemożliwiło
podManagementPolicy: OrderedReady replika overleaf-1 uruchamia się dopiero wtedy, gdy overleaf-0 jest gotowa, a aktualizacja krocząca nie zastępuje poda, który nigdy nie osiągnął gotowości. Po usunięciu przyczyny, na przykład błędnego ustawienia w ConfigMap, usuń zablokowany pod, aby StatefulSet utworzył go ponownie z bieżącego szablonu:overleaf-0 osiągnięcie gotowości; usunięcie poda pozwoliło uruchomić wszystkie trzy repliki.
