Skip to main content
Upgrade mengganti tag image. Versi baru memigrasikan database saat dimulai, dan migrasi ini harus berjalan sekali, dari satu pod, saat tidak ada pod versi lama yang berjalan. Di Kubernetes hal ini tidak memungkinkan rolling update biasa pada StatefulSet yang diskalakan.
Buat cadangan yang konsisten sebelum setiap upgrade, dengan Ayakaleaf Pro dihentikan. Baca catatan rilis untuk langkah-langkah versi tujuan upgrade Anda.
Sebelum memulai, di setiap node yang menjalankan Ayakaleaf Pro, pull image TeX Live apa pun yang dicantumkan oleh versi baru atau konfigurasi baru Anda, dengan sudo docker pull.
1

Hentikan Ayakaleaf Pro

2

Cadangkan

MongoDB, dari anggota mana pun:
Volume data, melalui pod berumur pendek yang me-mount-nya (pod ini akan berjalan di node tempat volume berada):
Lakukan hal yang sama untuk volume git-bridge (data-git-bridge-0), dan simpan salinan Secret overleaf-secrets. Jika penyimpanan Anda mendukung VolumeSnapshots, snapshot dari volume-volume tersebut memberikan hasil yang sama.
3

Ubah versi dan mulai

Atur tag baru di 40-overleaf.yaml (dan di 45-git-bridge.yaml, yang harus menggunakan tag yang sama), lalu:
Deployment menggunakan strategy: Recreate, sehingga bahkan tag yang diubah tidak pernah menjalankan dua versi sekaligus.

MongoDB dan Redis

Upgrade keduanya secara terpisah dari Ayakaleaf Pro. Untuk MongoDB, ikuti Memperbarui MongoDB (satu versi mayor setiap kali, featureCompatibilityVersion setelah setiap langkah); replica set menerima image baru satu anggota setiap kali saat Anda mengubah image di 10-mongo.yaml, karena StatefulSet mengganti mongo-2, mongo-1, dan mongo-0 secara bergiliran.

Rollback

Hentikan Ayakaleaf Pro seperti di atas, pulihkan MongoDB dari arsip (mongorestore --drop --archive --gzip) serta volume atau bucket dari cadangan, atur tag lama, dan mulai lagi. Migrasi versi baru tidak dapat dibatalkan dengan cara lain.

Tanya Jawab

Jawaban: Dengan podManagementPolicy: OrderedReady, overleaf-1 hanya dimulai setelah overleaf-0 siap, dan rolling update tidak mengganti pod yang tidak pernah siap. Setelah Anda memperbaiki penyebabnya, misalnya pengaturan yang salah di ConfigMap, hapus pod yang macet agar StatefulSet membuatnya kembali dari template saat ini:
Kami mengalami hal ini di klaster uji kami setelah sebuah pengaturan membuat overleaf-0 tidak pernah siap; menghapus pod tersebut memungkinkan ketiga replika dimulai.
Terakhir diubah pada 2 November 2026