Skip to main content
업그레이드는 이미지 태그를 교체합니다. 새 버전은 시작할 때 데이터베이스를 마이그레이션하며, 이 마이그레이션은 이전 버전의 파드가 실행되지 않는 상태에서 하나의 파드에서 한 번만 실행되어야 합니다. 따라서 Kubernetes에서는 확장된 StatefulSet의 단순한 롤링 업데이트를 사용할 수 없습니다.
업그레이드할 때마다 Ayakaleaf Pro를 중지한 상태에서 일관된 백업을 수행하세요. 업그레이드할 버전에 필요한 단계는 릴리스 노트를 읽어 보세요.
시작하기 전에 Ayakaleaf Pro를 실행하는 모든 노드에서, 새 버전이나 새 구성에 나열된 TeX Live 이미지를 sudo docker pull로 pull하세요.
1

Ayakaleaf Pro 중지

2

백업

MongoDB는 아무 멤버에서나 백업합니다.
데이터 볼륨은 이를 마운트하는 단기 파드를 통해 백업합니다(파드는 볼륨이 있는 노드에 배치됨).
git-bridge의 볼륨(data-git-bridge-0)도 같은 방법으로 백업하고, Secret overleaf-secrets의 사본을 보관하세요. 스토리지가 VolumeSnapshots를 지원한다면 볼륨 스냅샷으로도 같은 효과를 얻을 수 있습니다.
3

버전 변경 및 시작

40-overleaf.yaml(그리고 같은 태그를 사용해야 하는 45-git-bridge.yaml)에 새 태그를 설정한 다음:
Deployment는 strategy: Recreate를 사용하므로 태그가 변경되어도 두 버전이 동시에 실행되지 않습니다.

MongoDB와 Redis

MongoDB와 Redis는 Ayakaleaf Pro와 별도로 업그레이드하세요. MongoDB의 경우 MongoDB 업데이트를 따르세요(한 번에 메이저 버전 하나씩, 각 단계 후 featureCompatibilityVersion 설정). 10-mongo.yaml에서 이미지를 변경하면 StatefulSet이 mongo-2, mongo-1, mongo-0을 차례로 교체하므로 레플리카 세트는 한 번에 멤버 하나씩 새 이미지를 적용합니다.

롤백

위와 같이 Ayakaleaf Pro를 중지하고, 아카이브에서 MongoDB를 복원하고(mongorestore --drop --archive --gzip), 백업에서 볼륨 또는 버킷을 복원한 다음, 이전 태그를 설정하고 다시 시작하세요. 그 외의 방법으로는 새 버전의 마이그레이션을 되돌릴 수 없습니다.

Q&A

답변: podManagementPolicy: OrderedReady에서는 overleaf-0이 준비된 후에만 overleaf-1이 시작되며, 롤링 업데이트는 준비 상태가 된 적 없는 파드를 교체하지 않습니다. ConfigMap의 잘못된 설정 등 원인을 해결한 후, StatefulSet이 현재 템플릿으로 다시 생성하도록 멈춘 파드를 삭제하세요.
테스트 클러스터에서 한 설정 때문에 overleaf-0이 준비 상태가 되지 못했을 때 이 문제를 겪었으며, 파드를 삭제하자 세 레플리카가 모두 시작되었습니다.
마지막 수정일 2026년 11월 2일